ctslone/AdminAPI_MCP
If you are the rightful owner of AdminAPI_MCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The CData Arc MCP Server is a comprehensive Model Context Protocol server that enables AI assistants to manage CData Arc flows, messages, and application behavior through natural language interactions.
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 paginationget_connector- Get detailed information about a specific connectorcreate_connector- Create new connectors with custom configurationupdate_connector- Update existing connector settingsdelete_connector- Remove connectors permanentlyreceive_file- Trigger file receive operations for connectorssend_file- Trigger file send operations for connectors
File & Message Management (7 tools)
list_files- List processed files with filtering and paginationget_file- Get detailed information about specific filescreate_file- Create new files with custom metadataupdate_file- Update existing file metadata and contentdelete_file- Remove files permanentlyget_files_by_connector- List all files for a specific connectorget_recent_files- View recently processed files across all connectors
Transaction & Log Management (9 tools)
list_logs- List Arc logs with level and category filteringget_log- Get detailed log entry informationcreate_log- Create new log entriesdelete_log- Remove log entrieslist_transactions- List processing transactions with status filteringget_transaction- Get detailed transaction informationget_recent_transactions- View recent transactions with status summaryget_message_count- Get count of unsent messages by connector and workspaceget_transaction_logs- Retrieve detailed transaction log files and content
Workspace Management (4 tools)
list_workspaces- List all workspaces with comprehensive property displayget_workspace- Get detailed workspace configuration and settingscreate_workspace- Create new workspaces with custom configurationupdate_workspace- Update workspace settings including email, S3, cleanup, and performance options
Certificate Management (6 tools)
list_certificates- List Arc certificates with filtering and paginationget_certificate- Get detailed information about a specific certificatecreate_certificate- Create new certificates with custom configurationdelete_certificate- Remove certificates permanentlycreate_cert- Generate new public/private certificate key pairsexchange_cert- Exchange certificates for AS2/OFTP protocols with partners
Vault Management (4 tools)
list_vault_items- List vault items with filtering and paginationget_vault_item- Get detailed information about specific vault itemscreate_vault_item- Create new vault entries for secure storagedelete_vault_item- Remove vault items permanently
Report Management (3 tools)
list_reports- List available reports with filtering optionsget_report- Get detailed report information and configurationdelete_report- Remove reports permanently
Request Monitoring (2 tools)
list_requests- List API requests with filtering and paginationget_request- Get detailed information about specific API requests
Administrative Actions (6 tools)
cleanup_files- Clean up log files for specified workspaces and connectorsexport_settings- Export connector settings and workspace configuration to arcflow formatimport_settings- Import partner/connector profiles from arcflow datacopy_connector- Copy connector configurations between workspacescopy_workspace- Copy entire workspaces with all connectorsset_flow- Configure connector flow connections within a workspace
Profile & Configuration Management (2 tools)
get_profile- View Arc application profile and settingsupdate_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
-
Clone the repository:
git clone https://github.com/your-username/cdata-arc-mcp-server.git cd cdata-arc-mcp-server -
Install dependencies:
npm install -
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:8001with your actual CData Arc instance URL - Ensure the
dist/index.jsfile exists by runningnpm run buildfirst - 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) orhttpMCP_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 startto 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
/healthendpoint currently available (MCP protocol endpoints coming soon) - Not compatible with Claude Desktop remote connections (requires HTTPS and SSE endpoints)
- Configuration: Set
MCP_TRANSPORT_MODE=httpand optionallyMCP_HTTP_PORT=3000 - Testing: Use
npm run start:httpwith environment variables, then test the health endpoint athttp://localhost:3000/health
🚦 Getting Started
-
Install dependencies and build the server:
npm install npm run build -
Configure your Arc instance URL and authentication token in environment variables or Claude Desktop config
-
Add the MCP server to your Claude Desktop configuration file
-
Restart Claude Desktop to load the new MCP server
-
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
-
Connection errors
- Verify
CDATA_BASE_URLis correct and CData Arc instance is running - Check
CDATA_AUTH_TOKENis valid and has proper permissions - Ensure the API endpoint
/api.rscis accessible
- Verify
-
Tool not found errors
- Run
npm run buildto ensure TypeScript is compiled - Restart Claude Desktop after configuration changes
- Check that all file paths in configuration use forward slashes or escaped backslashes
- Run
-
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
- Test API access directly:
-
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
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes and add tests if applicable
- Ensure code passes linting:
npm run lint - Build and test:
npm run build && npm run test - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📝 License
MIT License - see LICENSE file for details.