数学工具MCP服务器

一个基于Python和Docker的MCP服务器,提供简单的数学工具,支持与LLM代理和Microsoft Copilot Studio集成。

  • by aagirre92
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 aagirre92/mcp-server-python-docker-test

使用说明

MCP Python Docker测试

该项目演示了Python中的最小模型上下文协议(MCP)服务器,旨在在Docker容器中运行,并公开了用于LLM代理和Microsoft Copilot Studio的简单数学工具。

GCP云运行

此存储库已连接到GCP Cloud运行 mcp-server

主要脚本

mcp-server-oauth-gcp-cloudRun.py 是主要的切入点。
它使用Google Cloud凭据通过OAuth2身份验证启动MCP服务器。脚本:

  • 验证Google OAuth2访问令牌并限制对允许的电子邮件的访问。
  • 展示数学工具(add, subtract, multiply, divide和距离计算)作为MCP工具。
  • 支持基本类型和Pydantic模型参数(⚠️: Copilot Studio代理只能看到原始类型的工具。那些具有非基元类型作为INPUT的工具不会在Copilot Studio代理中显示).

快速开始

使用Docker构建和运行:

docker build -t mcp-python-docker-test .
docker run -p 8080:8080 mcp-python-docker-test

Copilot工作室集成

  • 使用公共URL(例如,通过 devtunnel)作为主持人。
  • 在Copilot Studio连接器定义中,将路径设置为 /mcp/ (带尾随斜线)。 ⚠️ 使用FastMCP时 from fastmcp import FastMCP 我不得不把最后一个斜线放进去,但在与mcp.server.fastmcp import fastmcp一起使用时,我没有放!这很重要

Swagger示例:

swagger: '2.0'
info:
  title: GCP-MCP
  version: '1.0'
host: <your-public-url>
basePath: /
schemes:
  - https
paths:
  /mcp/:
    post:
      summary: MCP endpoint
      x-ms-agentic-protocol: mcp-streamable-1.0
      operationId: InvokeMCP
      responses:
        '200':
          description: Success
securityDefinitions: {}

文件

  • mcp-server-oauth-gcp-cloudRun.py --带有Google OAuth2的主MCP服务器
  • Dockerfile --集装箱化说明
  • pyproject.toml --项目依赖关系
  • server.py --(替代)无MCP服务器