使用说明
FastMCP数学服务器
使用FastMCP构建的示例服务器,以说明四个核心MCP类别:能力发现、数据提供、提示返回和自主推理。该软件包还包括一个用于实验的简单客户端。
演示客户端
安装项目(或在仓库内使用 src 布局)并运行:
fastmcp-math-demo --list # see available scenarios
fastmcp-math-demo # run every scenario sequentially
fastmcp-math-demo capability # run a single scenario
每个场景实例化相关的FastMCP服务器,打印其清单,并执行一个代表性工具(如适用),以便您可以观察不同的MCP交互模式。
交互式聊天
看 docs/planner.md 更深入地解释计划模式、工具选择以及何时使用。
要在REPL风格的循环中与服务器对话,请执行以下操作:
fastmcp-math-chat --server autonomous # default, asks OpenAI-powered server
fastmcp-math-chat --server prompt # simple math ops that return prompts
fastmcp-math-chat --server data --show-json # inspect raw JSON responses
fastmcp-math-chat --server autonomous --model gpt-4.1-mini
fastmcp-math-chat --server data --planner # let the LLM planner call tools for you
fastmcp-math-chat --server data --no-planner # fall back to manual commands
使用 exit 退出, help 作为指导,以及 tools 重新打印舱单。当计划器可用时(加载了OpenAI密钥),聊天客户端会自动通过LLM计划器路由非自治服务器,以便您可以键入自然语言请求。使用禁用该行为 --no-planner没有计划器,数据/提示服务器需要以下命令 add 2 3 或 divide 10 5.
计划员行为: 随着
--planner启用后,客户端会要求LLM计划员每轮选择一个工具调用,打印计划员的决定(洋红色),然后执行该工具。除非您使用自主服务器,否则多步骤指令仍然需要额外的循环,该服务器将子步骤链接到自己的工具实现中。
OpenAI证书
一些场景(例如自主推理)称为OpenAI。创建一个 .env 文件旁边 pyproject.toml 与:
OPENAI_API_KEY=sk-...
通过加载密钥 python-dotenv,因此演示客户端和服务器将自动拾取它们(如果存在)。如果没有密钥,自主服务器就会退回到启发式推理器。
类别详解
这一切是如何结合在一起的
看 docs/setup.md 用于环境设置、安装和运行测试。
- 服务器蓝图 住在
src/mcp_math_servers/servers/__init__.py.每个ServerBlueprint描述FastMCP服务器(名称/别名、类别、摘要、工厂功能)。 - 客户 (聊天或演示)电话
get_blueprint(...),通过以下方式实例化服务器blueprint.factory(),并从FastMCP检索工具元数据(server._tool_manager.get_tools()). - 处理器 (能力、数据、提示、自主)使用这些工具定义来执行命令,为用户或规划者返回结构化JSON(和可选提示)。
- 计划模式 (可选
--planner)要求LLM根据工具元数据每轮选择一个工具调用;在执行工具之前,计划员的决定以洋红色打印。 - 自主服务器 这是一个特例:它的工具在内部委托给OpenAI,因此多阶段推理发生在该工具内部(需要
OPENAI_API_KEY).
看 docs/mcp_server_use_classies.md 查看每个类别的完整细分以及详细指南的链接。如果你想要高级接线图,请阅读 docs/architecture.md.
- 能力服务器(类别1) 列出工具模式,但从不执行。演示与
fastmcp-math-chat --server capability --no-planner;尝试的命令返回“只读”提醒。 - 数据服务器(类别2) –执行数学工具并返回干净的JSON(
operation,inputs,result).尝试fastmcp-math-chat --server data --no-planner --show-json然后跑add 2 3. - 提示返回服务器(类别3) –返回结构化数据和
next_prompt以指导下游推理。例子:fastmcp-math-chat --server prompt --no-planner --show-json随后add 5 11. - 自主服务器(第4类) –在OpenAI内部运行推理,将任何所需的子操作链接到单个工具调用中(需要
OPENAI_API_KEY).例子:fastmcp-math-chat --server autonomous --no-planner --show-json然后问“将7乘以3的结果是什么?”