mcp-superiorapis
SuperiorAPIs MCP Server Tool is a Python-based server that dynamically generates MCP tool functions using SuperiorAPIs and OpenAPI schemas. It features automatic plugin loading, asynchronous execution, and is ready for UVX platform deployment.
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://your-repo-url.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
export APPLICATION_ID=your_application_id_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
š API Endpoint
Plugin definitions are fetched from:
https://superiorapis-creator.cteam.com.tw/manager/module/plugins/list_v2
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 -e APPLICATION_ID=your_app_id superiorapis-mcp
š License
MIT License (or your custom license)
šØāš» Author
Your Name / Your Company
Contact: