SuperiorAPIs MCP Server Tool
๐ Description
This project is a Python-based MCP Server that dynamically fetches plugin definitions from SuperiorAPIs and auto-generates MCP tool functions based on OpenAPI schemas.
The server will:
- Fetch plugin metadata
- Parse the schema
- Generate tool functions dynamically
- Run the MCP server
๐ Features
- Dynamic plugin loading from SuperiorAPIs
- Auto-generation of
pydantic
models and async functions - Asynchronous API execution using
aiohttp
- Runtime MCP tool registration
- Supports environment-based configuration
- Ready for UVX platform deployment
๐ Project Structure
.
โโโ main.py # MCP server core logic
โโโ requirements.txt # Python dependency list
โโโ setup.py # Packaging setup
โโโ Dockerfile # (Optional) Docker container build file
โโโ README.md # Project documentation
โ๏ธ Installation
Clone the project and install the dependencies:
git clone https://github.com/CTeaminfo/mcp-superiorapis.git
cd your-repo
pip install -r requirements.txt
๐ Environment Variables
Before running, set the following environment variables:
Linux/macOS
export TOKEN=your_token_here
Windows CMD
set TOKEN=your_token_here
set APPLICATION_ID=your_application_id_here
๐ฅ๏ธ Usage
Run the MCP server:
python main.py
The server will:
- Fetch plugin data from SuperiorAPIs
- Dynamically generate MCP tool functions
- Register the tools
- Start the MCP server
Authorization is required via the token
header.
๐ง Example Generated Tool Function
@mcp.tool()
async def post_example_tool(param1: Optional[str] = None, param2: Optional[int] = None) -> str:
"""
Tool description | API summary.
# Args:
param1 (string, optional): Description of param1.
param2 (integer, optional): Description of param2.
# Returns:
200 (object): API response.
"""
๐ Requirements
aiohttp>=3.8.6
pydantic>=2.5.3
mcp-sdk>=0.1.0
โ Error Handling
If the API call fails or returns status: 0
, the program will exit with:
โ Error: API returned no data or status is 0. Please check if the API is working properly.
๐ฆ Packaging (Optional)
Build the package:
python setup.py sdist bdist_wheel
Install the package:
pip install dist/mcp-superiorapis-1.0.0-py3-none-any.whl
Run using Docker (if needed):
docker build -t superiorapis-mcp .
docker run -e TOKEN=your_token superiorapis-mcp
๐ License
MIT License (or your custom license)
๐จโ๐ป Author
Marcus / CTeamContact: [email protected]