返回市场
MCP服务器创建器

MCP服务器创建器

作者:GongRzhe32 星标更新:2025-06-18

项目介绍

MCP Server Creator 🏗️

PyPI 版本 许可证: MIT

一个强大的模型上下文协议(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 Desktop 配置

在您的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

# 创建一个新的服务器配置
result = create_server(
    name="My API Server",
    description="自定义API集成服务器",
    version="1.0.0"
)

# 添加一个工具
add_tool(
    server_id="my_api_server",
    tool_name="fetch_data",
    description="从API获取数据",
    parameters=[{"name": "endpoint", "type": "str"}],
    return_type="dict",
    implementation='return {"data": f"Fetched from {endpoint}"}'
)

# 生成代码
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_server(
        name="Weather Service",
        description="获取天气信息",
        version="1.0.0"
    )
    
    # 添加天气工具
    add_tool(
        server_id="weather_service",
        tool_name="get_weather",
        description="获取城市的当前天气",
        parameters=[
            {"name": "city", "type": "str"},
            {"name": "units", "type": "str", "default": '"celsius"'}
        ],
        return_type="dict",
        is_async=True,
        implementation='''
    # 您的天气API逻辑在此处
    return {
        "city": city,
        "temperature": 20,
        "units": units,
        "condition": "sunny"
    }'''
    )
    
    # 添加资源
    add_resource(
        server_id="weather_service",
        uri="weather://{city}/current",
        name="Current Weather",
        description="获取当前天气数据",
        is_template=True,
        implementation='return {"city": city, "weather": "sunny"}'
    )
    
    # 保存到文件
    await save_server("weather_service", "weather_service.py")

# 运行创建
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+
  • FastMCP >= 0.1.0

许可证

MIT 许可证 - 详情见LICENSE文件。

贡献

欢迎贡献!请随时提交Pull Request。

作者

GongRzhe - gongrzhe@gmail.com

链接