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

Sample MCP Server Client

MCP Server

一个基于FastMCP构建的模型上下文协议服务器,展示中间件使用和上下文管理功能,适用于需要状态管理和自定义中间件的开发场景。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
中间件开发工具Python上下文管理

安装说明

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

作者 / 组织

tomkaith13

提供方

tomkaith13

最后核验

2026/5/17 20:22

运行时

Python

快速接入

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

命令预览

uv run main.py

详细介绍

带有上下文的MCP服务器

一个使用FastMCP构建的模型上下文协议(MCP)服务器,用于演示中间件的使用和上下文管理。

概述

这个项目展示了如何构建一个包含以下要素的MCP服务器:

  • 自定义中间件使用认证和请求日志记录 UserAuthMiddleware
  • 上下文管理中间件与工具之间有状态的信息传递
  • HTTP传输端口8888上的Streamable HTTP服务器

特点/特性

  • 自定义中间件 (UserAuthMiddleware):

- 拦截工具调用、请求和工具列表 - 记录请求头和元数据 - 在上下文状态中存储用户认证数据(用户ID、权限)

  • 工具

- add带有上下文感知输出的简单加法,显示用户信息 - calculate_health_savings_account_contributions计算HSA(健康储蓄账户)缴款

安装

# Install dependencies
uv sync

使用方法

运行服务器

uv run main.py

服务器将在 http://localhost:8888 使用可流式传输的HTTP传输。

使用MCP客户端进行测试

python mcp-client.py

建筑学

中间件流程

  1. on_request(在请求时)记录传入请求的头部信息和方法
  2. 在工具列表上拦截工具的列表请求
  3. on_call_tool 可以翻译为“呼叫工具”或“应答工具”,具体取决于上下文和该工具的具体功能。在这里,“on_call”可能指的是在呼叫或应答状态下的工具,所以“呼叫工具”或“应答工具”是比较贴切的翻译在工具执行前设置用户上下文(用户ID、权限)

上下文使用

工具可以通过(某种方式)访问中间件设置的状态 Context 对象:

user_id = ctx.get_state("user_id")
permissions = ctx.get_state("permissions")

要求

  • Python >= 3.13(Python版本大于等于3.13)
  • fastmcp >= 2.11.2
  • mcp\[cli\] >= 1.12.4

项目结构

.
├── main.py           # MCP server with middleware
├── mcp-client.py     # Test client
├── pyproject.toml    # Project configuration
└── README.md         # This file

许可证

请参阅项目文档以了解许可证详细信息。

目录标签

目录标签

中间件开发工具Python上下文管理本地部署HTTP服务器状态管理

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP