A remote Model Context Protocol (MCP) server implementation that provides tools for AI assistants to interact with external services and perform various operations.
This MCP server implements the Model Context Protocol specification, allowing AI assistants to access custom tools and capabilities through a standardized JSON-RPC interface. The server runs on port 8000 and provides several built-in tools for basic operations and conversation archiving.
- JSON-RPC 2.0 Protocol: Full implementation of the MCP specification
- Built-in Tools:
add: Perform basic arithmetic operationsreverse: Reverse text stringssave_conversation: Archive conversations to aiarchives.duckdns.org
- Health Monitoring: Built-in health check endpoint
- CORS Support: Cross-origin resource sharing enabled
- Error Handling: Comprehensive error handling with proper JSON-RPC error codes
- Node.js (version 16 or higher)
- npm or yarn package manager
To use this MCP server with Claude Desktop, you need to add it to your Claude Desktop configuration file.
- Open Claude Desktop
- Go to Settings (gear icon in the bottom left)
- Click on Advanced in the left sidebar
- Click Open Config Folder - this will open the folder containing
claude_desktop_config.json - Open the
claude_desktop_config.jsonfile in your preferred text editor
Add the following configuration to your claude_desktop_config.json file:
{
"mcpServers": {
"aiarchives": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://aiarchives.duckdns.org/mcp",
"--allow-http",
"--transport",
"http-only"
]
}
}
}Note: Make sure to restart Claude Desktop after making changes to the configuration file.
This MCP server is hosted remotely and accessible at https://aiarchives.duckdns.org/mcp. Once you've configured Claude Desktop as described above, you can immediately start using the available tools without needing to run anything locally.
Note: The server is always running and ready to accept requests through the MCP protocol.
If you want to run the server locally for development or testing purposes:
-
Start the server:
npm start
Or run directly with Node.js:
node server-mcp.js
-
Update the Claude Desktop configuration to point to your local server:
{ "mcpServers": { "aiarchives": { "command": "npx", "args": [ "-y", "mcp-remote", "http://localhost:8000/mcp", "--allow-http", "--transport", "http-only" ] } } }
Important: When running locally, the save_conversation tool will not work because it depends on the remote aiarchives API that's only available on the hosted server. The add and reverse tools will work normally.
Main MCP protocol endpoint that handles JSON-RPC requests.
Example request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Health check endpoint that returns server status.
Response:
{
"status": "healthy",
"server": "Remote MCP Server",
"timestamp": "2024-01-01T00:00:00.000Z"
}Debug endpoint that confirms the server is running.
Performs addition of two numbers.
Parameters:
a(number): First numberb(number): Second number
Example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "add",
"arguments": {
"a": 5,
"b": 3
}
}
}Reverses a text string.
Parameters:
text(string): Text to reverse
Example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "reverse",
"arguments": {
"text": "Hello World"
}
}
}Saves conversation content to aiarchives.duckdns.org and returns a shareable URL.
Parameters:
conversation(string): Full conversation content as HTML or plain text
Example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "save_conversation",
"arguments": {
"conversation": "<html><body>Conversation content...</body></html>"
}
}
}The server implements the following MCP protocol methods:
initialize: Initialize the MCP connectiontools/list: List available toolstools/call: Execute a specific toolnotifications/initialized: Handle client initialization notificationnotifications/cancelled: Handle request cancellation notification
The server returns proper JSON-RPC 2.0 error responses with standard error codes:
-32600: Invalid Request-32601: Method not found-32602: Invalid params-32603: Internal error
mcp-server/
├── server-mcp.js # Main server implementation
├── package.json # Dependencies and scripts
├── .gitignore # Git ignore rules
└── README.md # This file
To add a new tool, modify the tools/list response and add a corresponding case in the tools/call switch statement in server-mcp.js.
Currently, there are no automated tests. You can test the server manually using curl or any HTTP client:
# Health check
curl http://localhost:8000/health
# List tools
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'- express: Web framework for Node.js
- body-parser: Middleware for parsing request bodies
- cors: Cross-origin resource sharing middleware