自动化构建MCP服务器的项目教程
自动化构建MCP服务器的项目教程
automcp Easily convert tool, agents and orchestrators from existing agent frameworks to MCP servers 项目地址: https://gitcode.com/gh_mirrors/au/automcp
1. 项目的目录结构及介绍
automcp
项目是一个开源项目,旨在帮助开发者将现有的代理框架(如 CrewAI、LangGraph、Llama Index 等)轻松转换为 MCP(Message Cloud Protocol)服务器。以下是项目的目录结构及其介绍:
automcp/
├── .gitignore # 忽略文件列表
├── .python-version # 指定项目使用的Python版本
├── LICENSE # 项目许可证文件
├── README.md # 项目说明文件
├── pyproject.toml # 项目配置文件
├── uv.lock # uv 工具的锁定文件
├── examples/ # 示例目录,包含不同框架的示例
│ └── crewai/ # CrewAI框架的示例
├── github/ # GitHub工作流目录
│ └── workflows/ # 工作流文件
└── naptha-automcp/ # 项目核心代码目录
.gitignore
: 指定Git应该忽略的文件和目录。.python-version
: 指定项目应该使用的Python版本。LICENSE
: Apache-2.0 许可证文件,描述了项目的版权和使用条款。README.md
: 项目说明文件,包含了项目的描述、安装和使用方法。pyproject.toml
: 项目配置文件,定义了项目的基本信息和构建系统。uv.lock
: uv 工具的锁定文件,用于缓存依赖信息。examples/
: 包含了使用不同框架的示例代码。github/
: 包含了GitHub工作流相关的文件。
2. 项目的启动文件介绍
项目的启动文件是 run_mcp.py
,该文件负责初始化和运行 MCP 服务器。以下是启动文件的简要介绍:
# run_mcp.py
# 导入必要的库和模块
from automcp.adapters.crewai import create_crewai_adapter
from pydantic import BaseModel
from mcp.server.fastmcp import FastMCP
# 定义输入模式
class InputSchema(BaseModel):
# 定义需要的参数
pass
# 初始化MCP服务器
mcp = FastMCP("MCP Server")
# 配置代理和服务器
# ...
# 定义服务入口点
def serve_sse():
# 使用SSE传输方式运行服务器
mcp.run(transport="sse")
def serve_stdio():
# 使用STDIO传输方式运行服务器
mcp.run(transport="stdio")
# 根据命令行参数决定使用哪种传输方式
if __name__ == "__main__":
# ...
在 run_mcp.py
文件中,你需要配置你的代理和服务器,定义输入模式,并且根据需要选择服务器的传输方式(STDIO 或 SSE)。
3. 项目的配置文件介绍
项目的配置文件是 pyproject.toml
,它定义了项目的基本信息,例如项目名称、版本、作者以及项目依赖等。以下是配置文件的一个示例:
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "naptha-automcp"
version = "0.1.0"
description = "A tool to convert existing agent frameworks into MCP servers"
authors = ["Your Name "]
[project.scripts]
serve_stdio = "run_mcp:serve_stdio"
serve_sse = "run_mcp:serve_sse"
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.build.targets.wheel]
include = ["run_mcp.py"]
exclude = ["__pycache__", "*.pyc"]
sources = ["."]
packages = ["."]
在 pyproject.toml
文件中,你可以定义项目的名称、版本、描述和作者信息,还可以配置项目的构建目标和脚本。这些配置将帮助项目构建和分发。
automcp Easily convert tool, agents and orchestrators from existing agent frameworks to MCP servers 项目地址: https://gitcode.com/gh_mirrors/au/automcp