CData Arc MCP Server

CData Arc MCP Server

Enables AI assistants to manage CData Arc connectors, files, transactions, workspaces, and administrative actions through natural language interactions via the Arc Admin API.

Category
访问服务器

README

CData Arc MCP Server

A comprehensive Model Context Protocol (MCP) server that enables AI assistants like Claude to manage CData Arc flows, messages, and application behavior through natural language interactions. Built with TypeScript and the MCP SDK, providing secure access to Arc's Admin API.

🚀 Overview

This MCP server provides complete administrative access to your CData Arc instance through natural language interactions. Claude can now create connectors, monitor transactions, manage configurations, troubleshoot issues, and perform administrative actions using conversational commands.

🛠️ Available Tools

Connector Management (7 tools)

  • list_connectors - List Arc connectors with filtering and pagination
  • get_connector - Get detailed information about a specific connector
  • create_connector - Create new connectors with custom configuration
  • update_connector - Update existing connector settings
  • delete_connector - Remove connectors permanently
  • receive_file - Trigger file receive operations for connectors
  • send_file - Trigger file send operations for connectors

File & Message Management (7 tools)

  • list_files - List processed files with filtering and pagination
  • get_file - Get detailed information about specific files
  • create_file - Create new files with custom metadata
  • update_file - Update existing file metadata and content
  • delete_file - Remove files permanently
  • get_files_by_connector - List all files for a specific connector
  • get_recent_files - View recently processed files across all connectors

Transaction & Log Management (9 tools)

  • list_logs - List Arc logs with level and category filtering
  • get_log - Get detailed log entry information
  • create_log - Create new log entries
  • delete_log - Remove log entries
  • list_transactions - List processing transactions with status filtering
  • get_transaction - Get detailed transaction information
  • get_recent_transactions - View recent transactions with status summary
  • get_message_count - Get count of unsent messages by connector and workspace
  • get_transaction_logs - Retrieve detailed transaction log files and content

Workspace Management (4 tools)

  • list_workspaces - List all workspaces with comprehensive property display
  • get_workspace - Get detailed workspace configuration and settings
  • create_workspace - Create new workspaces with custom configuration
  • update_workspace - Update workspace settings including email, S3, cleanup, and performance options

Certificate Management (6 tools)

  • list_certificates - List Arc certificates with filtering and pagination
  • get_certificate - Get detailed information about a specific certificate
  • create_certificate - Create new certificates with custom configuration
  • delete_certificate - Remove certificates permanently
  • create_cert - Generate new public/private certificate key pairs
  • exchange_cert - Exchange certificates for AS2/OFTP protocols with partners

Vault Management (4 tools)

  • list_vault_items - List vault items with filtering and pagination
  • get_vault_item - Get detailed information about specific vault items
  • create_vault_item - Create new vault entries for secure storage
  • delete_vault_item - Remove vault items permanently

Report Management (3 tools)

  • list_reports - List available reports with filtering options
  • get_report - Get detailed report information and configuration
  • delete_report - Remove reports permanently

Request Monitoring (2 tools)

  • list_requests - List API requests with filtering and pagination
  • get_request - Get detailed information about specific API requests

Administrative Actions (6 tools)

  • cleanup_files - Clean up log files for specified workspaces and connectors
  • export_settings - Export connector settings and workspace configuration to arcflow format
  • import_settings - Import partner/connector profiles from arcflow data
  • copy_connector - Copy connector configurations between workspaces
  • copy_workspace - Copy entire workspaces with all connectors
  • set_flow - Configure connector flow connections within a workspace

Profile & Configuration Management (2 tools)

  • get_profile - View Arc application profile and settings
  • update_profile - Update logging, email notifications, SMTP, SSO, and syslog configuration

🏗️ Architecture

Core Components

  • ArcApiClient - Handles HTTP communication with Arc Admin API with comprehensive error handling
  • Tool Modules - Organized by functionality (connectors, files, logs, profile, certificates, actions, etc.)
  • Type Definitions - Complete TypeScript interfaces for all Arc entities and API operations
  • Dual Transport - Supports both stdio and HTTP transports

Key Features

  • 🔐 Secure Authentication - Bearer token and Basic Auth support
  • 🔍 Rich Filtering - OData-style query parameters with advanced filtering
  • 📊 Smart Formatting - User-friendly output with comprehensive details and status information
  • ⚡ Error Handling - Comprehensive error handling with detailed API error parsing
  • 🔄 Real-time Data - Live access to Arc instance data with proper OData response handling
  • 🎯 OData Compatibility - Proper handling of OData responses and empty result sets
  • 🚀 Action Support - Administrative actions like cleanup, export/import, and flow configuration

📦 Installation

  1. Clone the repository:

    git clone https://github.com/your-username/cdata-arc-mcp-server.git
    cd cdata-arc-mcp-server
    
  2. Install dependencies:

    npm install
    
  3. Build the TypeScript code:

    npm run build
    

This creates the compiled JavaScript files in the dist/ directory that Claude Desktop needs to run the MCP server.

⚙️ Configuration

Claude Desktop Configuration

Add to your Claude Desktop claude_desktop_config.json:

{
  "mcpServers": {
    "cdata-arc-server": {
      "command": "node",
      "args": ["C:/path/to/cdata-arc-mcp-server/dist/index.js"],
      "env": {
        "CDATA_BASE_URL": "http://localhost:8001/api.rsc",
        "CDATA_AUTH_TOKEN": "your-api-token-here"
      }
    }
  }
}

Important Configuration Notes:

  • Use forward slashes / or escaped backslashes \\ in Windows paths
  • Replace localhost:8001 with your actual CData Arc instance URL
  • Ensure the dist/index.js file exists by running npm run build first
  • Restart Claude Desktop after making configuration changes

Environment Variables

Required:

  • CDATA_BASE_URL: Base URL for your CData Arc instance (e.g., http://localhost:8001/api.rsc)
  • CDATA_AUTH_TOKEN: Your authtoken for your CData Arc instance (e.g., username:1234567890) Optional:
  • MCP_TRANSPORT_MODE: Transport mode - stdio (default) or http
  • MCP_HTTP_PORT: Port for HTTP transport (default: 3000)

Transport Modes

This MCP server supports two communication modes:

STDIO Mode (Default)

  • How it works: Claude Desktop launches the server as a child process and communicates via standard input/output
  • When to use: Normal operation with Claude Desktop (recommended)
  • Configuration: Claude Desktop handles starting/stopping the server automatically
  • Testing: Use npm run start to test the server manually in stdio mode (it will wait for JSON-RPC messages on stdin)

HTTP Mode

  • How it works: MCP server runs as a standalone HTTP service with a health check endpoint
  • When to use: Designed for server deployments and monitoring
  • Current limitations:
    • Only supports plaintext HTTP (SSL/TLS support planned for future release)
    • Only /health endpoint currently available (MCP protocol endpoints coming soon)
    • Not compatible with Claude Desktop remote connections (requires HTTPS and SSE endpoints)
  • Configuration: Set MCP_TRANSPORT_MODE=http and optionally MCP_HTTP_PORT=3000
  • Testing: Use npm run start:http with environment variables, then test the health endpoint at http://localhost:3000/health

🚦 Getting Started

  1. Install dependencies and build the server:

    npm install
    npm run build
    
  2. Configure your Arc instance URL and authentication token in environment variables or Claude Desktop config

  3. Add the MCP server to your Claude Desktop configuration file

  4. Restart Claude Desktop to load the new MCP server

  5. Start chatting with Claude about your Arc instance! Try commands like:

    • "Show me all connectors in the default workspace"
    • "Get the recent transactions for the past hour"
    • "Clean up log files older than 30 days"
    • "Export the connector settings for workspace 'production'"

Quick Start Commands

# Install and build
npm install
npm run build

# Run in development mode with file watching
npm run dev

# Start the server directly (for testing)
npm run start

🔧 Development

Available Scripts

npm run dev        # Development mode with file watching and auto-restart
npm run build      # Build TypeScript to JavaScript
npm run start      # Start server in stdio mode (for manual testing - Claude Desktop normally handles this)
npm run start:http # Start server in HTTP mode on the port defined by `MCP_HTTP_PORT`
npm run typecheck  # Type checking only

Project Structure

src/
├── index.ts                   # Main server entry point
├── services/
│   └── arc-client.ts         # Arc API client with comprehensive error handling
├── tools/
│   ├── connector-tools.ts    # Connector management and file operations
│   ├── monitoring-tools.ts   # Logs, transactions, and message monitoring
│   ├── workspace-tools.ts    # Workspace management operations
│   ├── certificate-tools.ts  # Certificate creation and exchange
│   ├── vault-tools.ts        # Vault/secrets management
│   ├── report-tools.ts       # Report management
│   ├── request-tools.ts      # API request monitoring
│   ├── action-tools.ts       # Administrative actions (cleanup, export/import)
│   └── config-tools.ts       # Profile and configuration management
├── types/
│   └── arc-api.ts           # Complete TypeScript type definitions
└── admin_api_swagger.json   # OpenAPI specification

🐛 Troubleshooting

Common Issues

  1. Connection errors

    • Verify CDATA_BASE_URL is correct and CData Arc instance is running
    • Check CDATA_AUTH_TOKEN is valid and has proper permissions
    • Ensure the API endpoint /api.rsc is accessible
  2. Tool not found errors

    • Run npm run build to ensure TypeScript is compiled
    • Restart Claude Desktop after configuration changes
    • Check that all file paths in configuration use forward slashes or escaped backslashes
  3. Authentication errors

    • Test API access directly: curl -H "x-cdata-authtoken: YOUR_TOKEN" http://localhost:8001/api.rsc/connectors
    • Verify token has admin-level permissions for all operations
  4. Empty or error responses

    • Check Arc instance logs for detailed error information
    • Verify workspace and connector IDs exist and are spelled correctly
    • Some endpoints return empty results when no data matches the criteria

Debug Mode

Set NODE_ENV=development for additional debug logging:

{
  "mcpServers": {
    "cdata-arc-server": {
      "command": "node",
      "args": ["C:/path/to/dist/index.js"],
      "env": {
        "CDATA_BASE_URL": "http://localhost:8001/api.rsc",
        "CDATA_AUTH_TOKEN": "your-token",
        "NODE_ENV": "development"
      }
    }
  }
}

📄 OpenAPI Integration

The server includes a complete OpenAPI specification (admin_api_swagger.json) with:

  • All API endpoints used by the MCP tools
  • Proper schema definitions with comprehensive type information
  • OData-compliant request/response formats
  • Authentication and error handling specifications
  • Action endpoints for administrative operations

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes and add tests if applicable
  4. Ensure code passes linting: npm run lint
  5. Build and test: npm run build && npm run test
  6. Commit your changes (git commit -m 'Add amazing feature')
  7. Push to the branch (git push origin feature/amazing-feature)
  8. Open a Pull Request

📝 License

MIT License - see LICENSE file for details.

🔗 Related Links

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选