cod-api MCP Server
Exposes REST API endpoints defined in an OpenAPI Specification as MCP tools, allowing AI models to call them via the ModelContext Protocol.
README
ModelContext Protocol Server
This project demonstrates how to use the ModelContext Protocol (MCP) with an Express server.
The MCP server methods were generated based on an OpenAPI Specification (OAS) file and integrated into the src/index.ts file.
Installation and Setup
Prerequisites
Before running the project, ensure the following are installed on your system:
- Node.js (version >= 18.0.0)
- npm (comes with Node.js)
Steps to Install and Run
- Navigate to the project directory.
- Install the dependencies:
npm install - Start the development server:
npm run dev - The MCP server runs by default at:
http://localhost:4000/mcp
Communicating with the MCP Server
The MCP server is running as a Streamable HTTP server and listens for requests at the default endpoint:
http://localhost:4000/mcp
Sending Requests to the MCP Server
To communicate with the MCP server, you can send HTTP POST requests to the /mcp endpoint. The server expects the request body to follow the JSON-RPC 2.0 specification.
Example Request
Here is an example of a JSON-RPC 2.0 request to invoke a tool or resource:
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "echo",
"arguments": {
"message": "Hello, MCP!"
}
},
"id": 1
}
- method: Specifies the tool or resource to invoke (e.g., tool/echo).
- params: Contains the parameters required by the tool or resource.
- id: A unique identifier for the request
The server will respond with a JSON-RPC 2.0-compliant response:
{
"jsonrpc": "2.0",
"result": {
"content": [ {"type":"text","text":"Tool echo: Hello, MCP!"} ]
},
"id": 1
}
Using cURL to Send Requests
You can use cURL to send requests to the MCP server. Here is an example command:
curl -X POST http://localhost:4000/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "echo",
"arguments": {
"message": "Hello, MCP!"
}
},
"id": 1
}'
Server customization
Port
If you want to run the MCP server on a different port, you can set the MCP_SERVER_PORT environment variable before starting the server. For example:
export MCP_SERVER_PORT=4002
API url
By default, MCP Server is using first server url defined in the OpenAPI Specification (OAS) file.
In order to customize API URL for the MCP server, please set the MCP_API_URL environment variable:
export MCP_API_URL=<desired_url>
MCP server methods
If you need to modify the MCP server methods, you can do so in the src/index.ts file.
The methods are generated based on the OpenAPI Specification (OAS) file, and you can adjust them as needed.
Troubleshooting
If the project is not running as expected:
- Ensure all dependencies are installed by running
npm install - Verify that you are using Node.js version 18 or higher:
node -v - Check for errors in the terminal output when running
npm run dev - Ensure the port (default: 4000) is not already in use by another application.
- Verify custom environment variables:
echo $MCP_SERVER_PORT echo $MCP_API_URL - If the issue persists, review the code in
src/index.tsfor potential misconfigurations or errors.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.