Skip to main content

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.

Project description

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:

  1. Fetch plugin data from SuperiorAPIs
  2. Dynamically generate MCP tool functions
  3. Register the tools
  4. 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: your_email@example.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mseep_mcp_superiorapis-1.1.5.tar.gz (23.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mseep_mcp_superiorapis-1.1.5-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file mseep_mcp_superiorapis-1.1.5.tar.gz.

File metadata

  • Download URL: mseep_mcp_superiorapis-1.1.5.tar.gz
  • Upload date:
  • Size: 23.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for mseep_mcp_superiorapis-1.1.5.tar.gz
Algorithm Hash digest
SHA256 31b36a47404b0f29770a3f218713166e5322bfa52d741a6016d9a4b2591583f2
MD5 a401c8c232ccb2bb7a63aedef4970a02
BLAKE2b-256 d279f9070b5ca2df48eaec3de59f7f4babb38d6ed4dbd0a388dcec8c0bac16a6

See more details on using hashes here.

File details

Details for the file mseep_mcp_superiorapis-1.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for mseep_mcp_superiorapis-1.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f5ec6844b67e1e3d4ab780580e704b4ad7302c7c41817389cbd099685ed7f86e
MD5 836874f5629e6d90154dd27e83689386
BLAKE2b-256 2bf6809ff35e2a34fd054ca25c6759131c22a3457210ee74c62abed113490296

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page