A configuration-driven Meta API Gateway server for the Model Context Protocol (MCP).
npm install meta-api-mcp-serverbash
npm install -g meta-api-mcp-server
`
$3
`bash
git clone https://github.com/savhascelik/meta-api-mcp-server.git
cd meta-api-mcp-server
npm install
`
Usage
$3
`bash
Load from default api-configs/ folder
meta-api-mcp-server
Specify a configuration file (in the directory where you run the server, there should be a folder with this name and structured json in it)
meta-api-mcp-server path/to/config.json
Load from a specific folder
meta-api-mcp-server path/to/configs/
Load from a remote URL
meta-api-mcp-server https://example.com/api-config.json
Load from a remote configuration list
meta-api-mcp-server https://example.com/config-list.json
Load from a Postman Collection ( your filename must contain the word βpostmanβ, I'll bind it to a variable when I have time )
meta-api-mcp-server path/to/My-API.postman_collection.json
`
$3
To connect to an MCP client like Cursor, configure your mcp.json file as follows:
`json
{
"mcpServers": {
"myApiServer": {
"command": "meta-api-mcp-server",
"args": [
],
"env": {
"MCP_CONFIG_SOURCE":"api-configs/flexweather-endpoints.json",
"API_KEY": "your-api-key-here"
}
}
}
}
`
`json
{
"mcpServers": {
"myApiServer": {
"command": "meta-api-mcp-server",
"args": [
"server.js",
"path/to/api-config.json"
],
"env": {
"EXAMPLE_API_KEY": "your-api-key-here"
}
}
}
}
`
`json
{
"mcpServers": {
"flexweather": {
"command": "node",
"args": [
"server.js"
],
"env": {
"MCP_CONFIG_SOURCE":"api-configs/flexweather-endpoints.json"
}
}
}
}
`
`json
{
"mcpServers": {
"lemonsqueezy": {
"command": "node",
"args": [
"server.js"
],
"env": {
"MCP_CONFIG_SOURCE":"api-configs/lemon-squeezy-api.json",
"LEMON_SQUEEZY_API_KEY": ""
}
}
}
}
`
Postman Collection Conversion
Using your existing Postman collections with Meta API MCP Server is now very easy! You can use hundreds of ready-made APIs without writing a single line of code.
1. Export your Postman collection (in v2.1.0 format)
2. Start Meta API MCP Server with the collection file:
`bash
meta-mcp my-collection.postman_collection.json
`
3. The server will automatically:
- Analyze all endpoints
- Detect the authentication method
- Extract path/query parameters
- Analyze request body structure
- Create MCP tools
4. Add your API key to the .env file (the server will tell you which environment variable to use)
$3
- β
Multi-level folder structure
- β
Bearer token authentication
- β
API Key authentication
- β
Path parameters
- β
Query parameters
- β
Headers
- β
JSON request body
- β
Postman variables (like {{api_url}})
API Editor Tool
A user-friendly editor tool has been developed to create or edit JSON configuration files:
MCP API Editor
With this web tool, you can:
- Create API configurations through a visual interface
- Edit existing JSON configurations
- Convert Postman collections to MCP-compatible configuration files
- Validate configuration files
- Export your configurations as JSON
Postman Collections: You can upload your existing Postman collections to the editor tool and automatically convert them to MCP-compatible configurations. This allows you to quickly use your existing collections instead of configuring APIs from scratch.
The editor makes it easy to manage tool names, parameters, and all other configuration options.
Project Structure
The codebase is organized in a modular way to facilitate maintenance and extension:
`
meta-api-mcp-server/
βββ serve.js
βββ api-configs/ # Default config directory
βββ package.json
`
API Configuration File Format
You can manually configure APIs using the following JSON format:
`json
{
"apiId": "my-api",
"handlerType": "httpApi",
"baseUrl": "https://api.example.com",
"authentication": {
"type": "bearerToken",
"envVariable": "MY_API_TOKEN"
},
"endpoints": [
{
"mcpOperationId": "getUsers",
"description": "Get a list of users",
"targetPath": "/users",
"targetMethod": "GET",
"parameters": [
{
"name": "page",
"in": "query",
"required": false,
"type": "integer",
"description": "Page number"
}
]
}
]
}
``