Token导航 LogoToken导航TokenDH.com
MCP oauth example logo
AI代理stdio官方级别未说明来源级核验

MCP oauth example

MCP Server

提供MCP协议的客户端和服务端实现,包括基础及带OAuth认证的HTTP版本,用于演示工具调用和授权流程。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
AI代理PythonClaudeHTTP服务Claude

安装说明

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

作者 / 组织

AriHC

提供方

AriHC

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

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

命令预览

docker run -p 127.0.0.1:8080:8080 \

详细介绍

MCP客户端/服务器和OAuth示例

该项目包含2个MCP客户端和2个MCP服务器:

服务器:

  • weather/weather.py:一个基本的stdio MCP服务器,无需授权
  • math-server/server.py:需要授权的http服务器

客户:

  • mcp-client/client.py:一个基本的stdio mcp客户端,未执行授权
  • mcp-client/http_client.py:一个http mcp客户端,根据需要使用DCR执行Oauth

有关更多详细信息,请参阅嵌套README。

端到端演示说明:

这将使用3个终端:一个用于Keycloak,一个用于服务器,另一个用于 客户。

0.先决条件

安装和更新(通过您的包管理器/其他选择的方法):

  • 紫外线
  • docker/docker桌面

航站楼1:钥匙斗篷

docker run -p 127.0.0.1:8080:8080 \
  -e KC_BOOTSTRAP_ADMIN_USERNAME=admin \
  -e KC_BOOTSTRAP_ADMIN_PASSWORD=admin \
  quay.io/keycloak/keycloak start-dev

终端2:服务器

配置Keycloak,设置服务器环境

cd math-server
./setup-keycloak.sh

在浏览器中运行上述命令后,导航到localhost:8080, 并登录(默认用户名和密码都设置为“admin” 上文)。转到左侧的“客户端”面板,然后转到“客户端” “注册”选项卡,然后选择“受信任的主机”。禁用“客户端URI必须 匹配”,并在“受信任的主机”字段中添加您的客户端将使用的IP地址 从\*连接,点击保存。

\*(如果你不确定你的客户端IP,一个简单的方法就是回来找 稍后执行此步骤-您第一次尝试连接客户端时, 你会得到一个403错误,但如果你查看keycloak日志(在终端1中) 您应该看到一个警告日志,其中包含CLIENT_REGISTER_ERROR和指定的 IP地址-这是要使用的地址;按照上述说明进行应用, 然后重新运行客户端)。

注: 如果你运行了此演示的早期版本,你可能已经 在您的环境中设置OAUTH_CLIENT_SECRET。按原样清除它 重写新版本使用的.env。

启动服务器

uv run server.py

终端3:客户端

环境设置

客户端包装Claude,将一个简单的对话循环连接到 指定的服务器。因此,您需要提供Anthropic API密钥 在您的环境中(或 mcp-client/.env 文件):

cd mcp-client
ANTHROPIC_API_KEY=your_api_key_here

运行客户端

注: 如果你已经对之前的Keycloak实例运行了客户端, 或者只是想重置演示的Oauth步骤,请使用以下命令清除mcp缓存 rm -rf ~/.mcp/cache

uv run http_client.py http://localhost:3000

在第一次运行时,它应该打开一个web浏览器来请求权限,作为一部分 标准Oauth DCR流。后续运行应使用缓存信息 在必要时请求新令牌,而无需重新进行身份验证。

注: 如上文Keycloak设置部分所述,如果您遇到 a 403您可能需要将您的IP地址标记为受信任的主机

使用工具!

像“add 21+55”这样的查询应该调用服务器工具寻求帮助。

目录标签

目录标签

AI代理PythonClaudeHTTP服务协议开发本地部署OAuth认证工具调用Keycloak集成

支持客户端

Claude

接入字段

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

stdio

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

oauth

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiooauth部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP