MCP服务器创建工具

一个强大的模型上下文协议(MCP)服务器,用于动态生成FastMCP服务器配置和Python代码。

  • by GongRzhe
  • Python
  • 本地部署
  • 40 星标
  • 更新于
在 GitHub 查看 GongRzhe/MCP-Server-Creator

使用说明

MCP服务器创建器🏗️

一个强大的模型上下文协议(MCP)服务器,可以创建其他MCP服务器!此元服务器提供用于动态生成FastMCP服务器配置和Python代码的工具。

🚀 快速开始

使用pip安装

pip install mcp-server-creator

使用uvx运行(推荐)

uvx mcp-server-creator

作为模块运行

python -m mcp_server_creator

特性

  • 动态服务器创建:动态创建新的MCP服务器配置
  • 工具生成器:添加带有参数、返回类型和实现的自定义工具
  • 资源管理器:使用模板支持添加静态和动态资源
  • 代码生成:为您的服务器生成完整、可运行的Python代码
  • 文件导出:将生成的服务器直接保存到Python文件
  • 模板示例:内置示例服务器以演示功能

用法

作为MCP服务器

MCP Server Creator本身就是一个MCP服务器,可以与Claude Desktop或任何MCP客户端一起使用。

Claude桌面配置

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "mcp-server-creator": {
      "command": "uvx",
      "args": ["mcp-server-creator"]
    }
  }
}

程序化使用

from mcp_server_creator import create_server, add_tool, generate_server_code

# Create a new server configuration
result = create_server(
    name="My API Server",
    description="A custom API integration server",
    version="1.0.0"
)

# Add a tool
add_tool(
    server_id="my_api_server",
    tool_name="fetch_data",
    description="Fetch data from the API",
    parameters=[{"name": "endpoint", "type": "str"}],
    return_type="dict",
    implementation='return {"data": f"Fetched from {endpoint}"}'
)

# Generate the code
code = generate_server_code("my_api_server")
print(code)

可用工具

服务器管理

  • create_server:创建新的MCP服务器配置
  • list_servers:列出内存中的所有服务器配置
  • get_server_details:获取特定服务器的详细信息

工具管理

  • add_tool:将工具添加到现有服务器
    • 支持同步和异步工具
    • 具有类型和默认值的自定义参数定义
    • 自动导入管理

资源管理

  • add_resource:将资源添加到现有服务器
    • 固定数据的静态资源
    • 带参数的动态资源模板
    • 自定义MIME类型

代码生成

  • generate_server_code:为服务器生成完整的Python代码
  • save_server:将生成的服务器代码保存到文件
  • create_example_server:创建一个完整的天气服务示例

示例:创建天气服务

import asyncio
from mcp_server_creator import create_server, add_tool, add_resource, save_server

async def create_weather_service():
    # Create the server
    create_server(
        name="Weather Service",
        description="Get weather information",
        version="1.0.0"
    )
    
    # Add a weather tool
    add_tool(
        server_id="weather_service",
        tool_name="get_weather",
        description="Get current weather for a city",
        parameters=[
            {"name": "city", "type": "str"},
            {"name": "units", "type": "str", "default": '"celsius"'}
        ],
        return_type="dict",
        is_async=True,
        implementation='''
    # Your weather API logic here
    return {
        "city": city,
        "temperature": 20,
        "units": units,
        "condition": "sunny"
    }'''
    )
    
    # Add a resource
    add_resource(
        server_id="weather_service",
        uri="weather://{city}/current",
        name="Current Weather",
        description="Get current weather data",
        is_template=True,
        implementation='return {"city": city, "weather": "sunny"}'
    )
    
    # Save to file
    await save_server("weather_service", "weather_service.py")

# Run the creation
asyncio.run(create_weather_service())

发展

设置

git clone https://github.com/GongRzhe/mcp-server-creator.git
cd mcp-server-creator
pip install -e .

测试

python test_mcp_creator.py

需求

  • Python 3.8+
  • 快速MCP>=0.1.0

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

贡献

欢迎投稿!请随时提交拉取请求。

作者

龚日哲- gongrzhe@gmail.com

链接