article
README
🚀 FastMCP 项目文档
FastMCP 是一个功能强大的工具,可用于开发和部署各类应用程序。它提供了丰富的命令和灵活的配置选项,能帮助开发者快速搭建和运行项目,无论是开发测试还是常规使用都非常便捷。
🚀 快速开始
📦 安装指南
克隆仓库
git clone https://github.com/jlowin/fastmcp.git && cd fastmcp
创建并安装依赖环境
uv venv && uv sync
激活虚拟环境后(.venv),即可开始使用。
💻 使用示例
开发模式(推荐用于开发和测试)
fastmcp dev your_server_file.py
# 包含临时依赖项时
fastmcp dev your_server_file.py --with pandas --with numpy
# 使用本地包的可编辑模式
fastmcp dev your_server_file.py --with-editable .
安装到Claude Desktop(用于常规使用)
fastmcp install your_server_file.py
# 自定义名称时
fastmcp install your_server_file.py --name "My Analysis Tool"
# 配置额外包和环境变量
fastmcp install server.py --with requests -v API_KEY=123 -f .env
直接运行(高级用法)
在 your_server_file.py 中添加:
if __name__ == "__main__":
mcp.run() # 假设 'mcp' 是你的 FastMCP 实例
然后运行:
python your_server_file.py
# 或者使用 uv 运行
uv run python your_server_file.py
指定服务器对象名称
如果 FastMCP 实例的名称不是 mcp、server 或 app,请在命令中指定:
fastmcp dev my_module.py:my_mcp_instance
fastmcp install api.py:api_app
示例代码
查看 examples/ 目录中的代码样例,了解各种功能的实现:
- simple_echo.py:基本工具、资源和提示示例。
- complex_inputs.py:使用 Pydantic 模型进行工具输入处理。
- mount_example.py:挂载多个 FastMCP 服务器。
- sampling.py:在 MCP 服务器中使用 LLM 完成任务。
- screenshot.py:工具返回 Image 对象示例。
- text_me.py:工具与外部 API 的交互示例。
- memory.py:包含数据库交互的复杂示例。
🤝 贡献指南
开发者指南
先决条件
- Python 3.10+ 版本
- uv 工具
设置步骤
- 克隆仓库:
git clone https://github.com/jlowin/fastmcp.git && cd fastmcp
- 创建并安装依赖环境:
uv venv && uv sync
激活虚拟环境后(.venv),即可开始开发。
测试步骤
运行测试套件:
uv run pytest -vv
格式化与代码检查
使用 ruff 进行格式化和代码检查:
- 安装钩子:
pre-commit install
- 执行检查:
pre-commit run --all-files
提交代码
- 创建功能分支:
- Fork 仓库。
- 创建新的功能分支。
- 提交更改:
- 在自己的分支上进行修改。
- 提交并推送变更。
- 生成 Pull Request:
- 在 GitHub 上提出Pull Request,说明修改内容和目的。
贡献规范
- 请为您的贡献添加相应的文档。
- 确保代码符合项目编码规范。
- 提供详细的提交信息,便于审查和理解。
📚 详细文档
其他资源
- 官方网站:FastMCP 官网
- 社区支持:在 GitHub Issues 中提问或讨论。
- 开发者邮件列表:订阅以获取最新开发动态(如有)。
感谢您的参与和贡献!希望 FastMCP 能为您的项目带来便利。
微信扫一扫