Token导航 LogoToken导航TokenDH.com
MCP Integration Example logo
安全风控stdio官方级别未说明来源级核验

MCP Integration Example

MCP Server

一个用于本地验证OAuth和MCP服务器交互的Python客户端工具,支持动态注册和令牌流程测试。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
PythonClaude安全Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

tsugumi-sys

提供方

tsugumi-sys

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run main.py

详细介绍

MCP示例

建筑

Architecture

使用Python客户端进行本地OAuth测试

对于本地验证,使用Python MCP客户端对普通本地主机进行验证。这比Claude Desktop的测试简单得多,因为它不需要HTTPS终止。

这验证了:

  • 上的受保护资源元数据 mcp_server
  • OAuth元数据 app_server
  • 动态客户端注册
  • 授权码流
  • 刷新令牌流
  • 经过身份验证的MCP工具调用

先决条件

  • app_servermcp_server 在本地运行
  • 已配置Google管理员登录
  • 管理UI中至少有一个已连接的Google日历凭据

启动服务器

  1. 在一个终端中:
cd app_server
uv run main.py
  1. 在另一个终端中:
cd mcp_server
uv run main.py

本地URL

  • 应用服务器: http://127.0.0.1:8000
  • MCP服务器: http://127.0.0.1:9001/mcp

所需的本地设置

  • app_server/.env

- MCP_SERVER_URL=http://127.0.0.1:9001/mcp

  • mcp_server/.env

- APP_SERVER_URL=http://127.0.0.1:8000 - AUTH_SERVER_URL=http://127.0.0.1:8000 - MCP_PUBLIC_URL=http://127.0.0.1:9001 - JWT_SECRETJWT_ISSUER 必须匹配 app_server/.env

Google OAuth重定向本地主机的URI

  • http://127.0.0.1:8000/auth/google/callback
  • http://127.0.0.1:8000/oauth/google_calendar/callback

推荐的预检查

  1. 打开 http://127.0.0.1:8000/auth/login 并确认谷歌登录有效。
  2. 打开 http://127.0.0.1:8000/credentials 并确认目标谷歌日历凭据为 connected.
  3. 打开 http://127.0.0.1:8000/.well-known/oauth-authorization-server 并确认返回元数据。
  4. 打开 http://127.0.0.1:9001/.well-known/oauth-protected-resource/mcp 并确认返回了受保护的资源元数据。

Python客户端示例

运行附带的测试客户端:

cd mcp_server
uv run test_oauth_client.py

或者使用这个最小的例子:

from fastmcp import Client
import anyio

async def main():
    async with Client("http://127.0.0.1:9001/mcp", auth="oauth") as client:
        tools = await client.list_tools()
        print(tools)

anyio.run(main)

预期行为:

  1. 客户端从以下位置发现受MCP保护的资源元数据 mcp_server.
  2. 客户端从以下位置发现授权服务器元数据 app_server.
  3. 客户端动态注册自己。
  4. 打开浏览器进行Google管理员登录和授权。
  5. 客户端接收令牌,并使用承载身份验证重试MCP请求。
  6. tools/list 工具调用成功。

为什么此路径更适合本地测试

  • 不需要HTTPS设置
  • 没有本地CA信任问题
  • 无克劳德桌面UI/调试摩擦
  • 您可以直接验证完整的OAuth和动态注册流程

这能证明什么,不能证明什么

这个localhost Python流是对服务器端实现的有力验证。它验证:

  • 上的受保护资源元数据 mcp_server
  • 上的授权服务器元数据 app_server
  • 动态注册
  • 授权码流
  • 刷新令牌流
  • 经过身份验证的MCP请求

它不能完全保证部署后Claude Desktop的兼容性。HTTPS、公共可达性、重定向URI配置和Claude Desktop特定的行为仍需要在真实的远程环境中进行验证。

关于Claude Desktop的说明

Claude Desktop远程MCP测试仍然有用,但它通常需要HTTPS端点。在本地主机Python流工作后使用它。

刀具选择控制

  • MCP服务器具有多个工具实际传递给LLM的工具仅限于房间设置被做。
  • 因为是用户(或代理)可以选择“只想使用的集成”的设计,所以不进行冗长的全部工具交付。
  • 在动态输入提示中单击只从同一MCP内的工具群中选择必要的东西可以。

目录标签

目录标签

PythonClaude安全OAuth测试本地部署Python客户端本地验证动态注册令牌流程

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP