Handles environment variables through .env files for storing and managing API credentials securely
Enables interaction with GitHub's API, allowing for operations like retrieving user repositories through tools like 'github_getUser'
Provides access to OpenAI's API services through automatic tool generation from OpenAPI specifications
Integrates with Swagger/OpenAPI specifications to automatically convert API definitions into usable MCP tools
Supports parsing of YAML-formatted OpenAPI specifications for tool generation
Built with FastMCP for TypeScript.
β¨ Features
π― Zero Configuration: Filesystem is the interface - just drop OpenAPI specs in a folder
π Auto Authentication: Simple
.envfile with{API_NAME}_API_KEYpatternπ·οΈ Namespace Isolation: Multiple APIs coexist cleanly (e.g.,
petstore_getPet,github_getUser)π Full OpenAPI Support: Handles parameters, request bodies, authentication, and responses
π Multiple Transports: Support for stdio and HTTP streaming
π Built-in Debugging: List command to see loaded specs and tools
Related MCP server: Emcee
π Quick Start
1οΈβ£ Install (optional)
2οΈβ£ Create a specs folder
3οΈβ£ Add OpenAPI specs
Drop any .json, .yaml, or .yml OpenAPI specification files into your specs folder:
4οΈβ£ Configure authentication (optional)
Create a .env file in your specs folder:
5οΈβ£ Add to MCP client configuration
For Claude Desktop or Cursor, add to your MCP configuration:
If installed on your machine:
Otherwise:
π» CLI Usage
π Start the server
π List loaded specs and tools
π Authentication Patterns
The server automatically detects authentication from environment variables using these patterns:
Pattern | Auth Type | Usage |
| ποΈ API Key |
header |
| π« Bearer Token |
|
| π« Bearer Token |
|
+
| π€ Basic Auth |
|
The {API_NAME} is derived from the filename of your OpenAPI spec:
petstore.jsonβPETSTORE_API_KEYgithub-api.yamlβGITHUB_TOKENmy_custom_api.ymlβMYCUSTOMAPI_API_KEY
π·οΈ Tool Naming
Tools are automatically named using this pattern:
With operationId:
{api_name}_{operationId}Without operationId:
{api_name}_{method}_{path_segments}
Examples:
petstore_getPetById(from operationId)github_get_user_repos(generated fromGET /user/repos)
π File Structure
π Example OpenAPI Spec
Here's a minimal example that creates two tools:
This creates tools named:
example_getUserexample_createUser
π§ Troubleshooting
β No tools appearing?
Check that your OpenAPI specs are valid:
specbridge list --specs /path/to/specsEnsure files have correct extensions (
.json,.yaml,.yml)Check the server logs for parsing errors
β οΈ Note: Specbridge works best when you use absolute paths (with no spaces) for the
--specsargument and other file paths. Relative paths or paths containing spaces may cause issues on some platforms or with some MCP clients.
π Authentication not working?
Verify your
.envfile is in the specs directoryCheck the naming pattern matches your spec filename
Use the list command to verify auth configuration:
specbridge list
π Tools not updating after spec changes?
Restart the MCP server to reload the specs
Check file permissions
Restart the MCP client if needed
π οΈ Development
π€ Contributing
Contributions are welcome! Please feel free to submit issues and pull requests.