数学函数服务器

一个基于Python的玩具MCP服务器,提供数学函数功能,支持自动生成工具描述和输入模式,无需手动编写模式。

  • by Oodapow
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Oodapow/mcp_server_test

使用说明

MCP数学服务器

一个用Python编写的玩具级MCP(模型上下文协议)服务器,提供数学函数。构建于(注:原文“Built with”后未给出具体构建所用的技术或框架,因此这里仅翻译到“构建于”,实际翻译时可能需要根据上下文补充完整) FastMCP 用于现代、类型安全的工具开发。

所有工具描述和输入模式都是根据Python文档字符串和类型注解自动生成的 - 无需手动编写模式!

主要特点

  • 自动模式生成工具输入模式是自动从Python生成的 Annotated 类型提示 - 用Python类型一次性定义您的参数,免费获取JSON Schema
  • 来自文档字符串的文档工具描述来源于函数的文档字符串,而参数描述则是从(相关部分)提取的 Annotated 类型提示字符串
  • 类型安全所有操作均带有完整的类型提示和验证
  • 清洁架构简洁明了的函数定义,无需冗余代码
  • 自动验证FastMCP 自动处理类型检查和参数验证

它是如何工作的

FastMCP 自动将您的 Python 代码转换为 MCP 工具定义:

from typing import Annotated

@mcp.tool()
def add(
    a: Annotated[float, "First number"],
    b: Annotated[float, "Second number"],
) -> str:
    """Add two numbers together.
    
    Returns the sum of a and b.
    """
    result = a + b
    return f"Result: {result}"

这成为了一个具有以下功能的MCP(多条件程序/多条件规划等,具体根据上下文确定)工具:

  • 工具名称: add
  • 工具描述“将两个数相加。返回a和b的和。”(来自文档字符串)
  • 输入模式/输入架构带有(或包含)JSON Schema 的 a 和 b 作为带有描述的数域(来自 Annotated 类型提示)
  • 验证自动类型检查和验证

项目结构

mcp_server_test/
├── mcp_math_server/
│   ├── __init__.py
│   └── server.py
├── pyproject.toml
└── README.md