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

MCP Web Knowledge Coach

MCP Server

一个全栈演示系统,展示模型上下文协议(MCP)的功能,包括流式Python服务器和React Web客户端通过Streamable HTTP进行通信,适用于演示、研讨会和培训。

工具数

1

提示词数

0

GitHub Stars

1

资源数

0
PythonAI代理工作流自动化

安装说明

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

作者 / 组织

Ramakrishna-Gedala

提供方

Ramakrishna-Gedala

最后核验

2026/5/17 20:22

运行时

Python

快速接入

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

命令预览

uv run knowledge-coach-server

详细介绍

知识教练MCP演示

全栈演示 模型上下文协议(MCP) 具有流式Python服务器和React web客户端,通过 流式HTTP 运输。专为演示、研讨会和培训MCP概念的新学习者而设计。

架构概述

┌───────────────────────────┐        JSON-RPC 2.0         ┌──────────────────────────────┐
│     React Web Client      │  ◄──── Streamable HTTP ────► │     Python MCP Server        │
│  (Vite + TypeScript)      │        POST /mcp/            │  (FastAPI + FastMCP)         │
│                           │                              │                              │
│  ┌─────────────────────┐  │                              │  ┌────────────────────────┐  │
│  │  McpStreamClient    │──┼──────── initialize ─────────►│  │  StreamableHTTP ASGI   │  │
│  │  (services/)        │  │         mcp-session-id       │  │  Session Manager       │  │
│  │                     │◄─┼──────── session header ──────│  │                        │  │
│  │                     │──┼──────── tools/call ──────────►│  │  ┌──────────────────┐  │  │
│  │                     │◄─┼──────── structuredContent ───│  │  │ InMemoryEventStore│  │  │
│  └─────────────────────┘  │                              │  │  └──────────────────┘  │  │
│                           │                              │  └────────────────────────┘  │
│  ┌─────────────────────┐  │                              │                              │
│  │  useChatSession     │  │                              │  ┌────────────────────────┐  │
│  │  (hooks/)           │  │                              │  │  MCP Capabilities      │  │
│  └─────────────────────┘  │                              │  │  ├─ Resources (2)      │  │
│                           │                              │  │  ├─ Tools (1)          │  │
│  ┌─────────────────────┐  │                              │  │  └─ Prompts (1)        │  │
│  │  ChatWindow         │  │                              │  └────────────────────────┘  │
│  │  (components/chat/) │  │                              │                              │
│  └─────────────────────┘  │                              │  ┌────────────────────────┐  │
│                           │                              │  │  KnowledgeBase         │  │
│                           │                              │  │  (knowledge_base.yaml) │  │
└───────────────────────────┘                              └──────────────────────────────┘
     localhost:5173                                              127.0.0.1:8000

技术栈

技术目的
后端运行时Python 3.11+服务器语言
MCP框架FastMCP (mcp 包)MCP协议抽象(资源、工具、提示)
Web框架FastAPI 0.115+HTTP路由、CORS、生命周期挂钩
ASGI服务器Uvicorn 0.30+生产级异步服务器
上海证券交易所sse starlette 1.8+服务器发送流媒体事件
验证Pydantic 2.8+数据模型和设置
程序包管理器紫外线 >=0.9快速Python依赖管理
前端框架React 19.2UI组件
语言TypeScript 5.9类型安全的前端代码
构建工具Vite 7.2开发服务器和捆绑器
样式CSS(自定义属性)无框架,轻量级主题
协议MCP流式HTTP基于HTTP的JSON-RPC 2.0,具有会话管理功能
测试pytest+pytest-asyncio服务器单元和集成测试
代码检查ESLint 9前端代码质量

项目布局

.
├── server/                          # Python MCP server
│   ├── pyproject.toml               # Dependencies and CLI entry points
│   ├── src/knowledge_coach/
│   │   ├── main.py                  # FastAPI app + FastMCP wiring
│   │   ├── config.py                # Environment-based settings (KC_ prefix)
│   │   ├── models.py                # Pydantic response models
│   │   ├── knowledge_base.py        # In-memory resource search engine
│   │   ├── knowledge_base.yaml      # 12+ training resource fixtures
│   │   ├── event_store.py           # Session event replay store
│   │   ├── resources.py             # MCP resource registrations
│   │   ├── tools.py                 # MCP tool registrations
│   │   ├── prompts.py               # MCP prompt template registrations
│   │   └── cli.py                   # Dev CLI (inspector, config export)
│   └── tests/                       # pytest suite
│       ├── test_knowledge_base.py   # Knowledge base unit tests
│       └── test_streamable_http.py  # MCP protocol integration test
│
└── web/                             # React + Vite chat client
    ├── package.json                 # NPM dependencies and scripts
    └── src/
        ├── config.ts                # MCP endpoint configuration
        ├── types/mcp.ts             # TypeScript interfaces matching server models
        ├── services/mcpClient.ts    # Low-level MCP Streamable HTTP client
        ├── hooks/useChatSession.ts  # Chat session state management hook
        └── components/
            ├── AppShell.tsx         # Layout wrapper with header
            └── chat/
                ├── ChatWindow.tsx   # Main chat UI (messages, composer, status)
                └── ChatPlaceholder.tsx  # Welcome screen with setup steps

MCP能力暴露

资源(只读数据)

URI描述
resource://knowledge-coach/resources所有培训资源的Markdown目录
resource://knowledge-coach/{resource_id}单个资源的详细视图

工具(可执行操作)

工具参数返回
coach_resourcesquestion, experience_level, max_resultsCoachingResponse 标题、评分建议和下一步行动

提示(LLM模板)

提示参数说明
demo_run_of_showaudience, focus_topic使用动态匹配的资源生成演示脚本

先决条件

  • Python 3.11+
  • uv >= 0.9
  • Node.js 20+

快速开始

1.MCP服务器

cd server
uv sync --extra dev          # install dependencies (runtime + pytest)
uv run knowledge-coach-server

服务器正在监听 http://127.0.0.1:8000 MCP端点位于 http://127.0.0.1:8000/mcp/.

其他服务器命令:

命令目的
uv run knowledge-coach-dev具有热重新加载功能的开发服务器
uv run knowledge-coach-inspector启动MCP检查器UI
uv run knowledge-coach-inspector-config出口 inspector.config.json

2.React Web客户端

cd web
npm install
npm run dev

开放时间: http://localhost:5173。要覆盖MCP端点,请创建 web/.env.local:

VITE_MCP_BASE_URL=http://127.0.0.1:8001/mcp/

运行测试和检查

# Server tests (from server/)
uv run pytest

# Frontend lint + type check (from web/)
npm run lint
npm run build

演示流程

  1. 启动MCP服务器: uv run knowledge-coach-server
  2. (可选)启动MCP检查器: uv run knowledge-coach-inspector --交互式浏览资源、工具和提示
  3. 启动React应用程序: npm run dev 并打开 http://localhost:5173
  4. 输入提示(例如。 *“为采用MCP的销售工程师设计培训计划”*),选择一个体验级别,然后单击 生成推荐
  5. 客户端执行MCP握手,调用 coach_resources,并呈现具有匹配分数和下一步的结构化推荐

环境变量

服务器(KC_ 前缀,或 .env 归档 server/)

变量默认值描述
KC_HOST127.0.0.1服务器绑定地址
KC_PORT8000服务器端口
KC_RELOADfalse启用热重新加载
KC_ALLOWED_ORIGINShttp://localhost:5173CORS允许的来源(逗号分隔)
KC_SERVER_NAMEKnowledge Coach MCPMCP握手中的服务器名称

Web(Vite环境变量,或 .env.localweb/)

变量默认值描述
VITE_MCP_BASE_URLhttp://127.0.0.1:8000/mcp/MCP服务器端点

故障排除

问题解决方案
客户留下 idle 或显示 error在打开React应用程序之前,确保服务器正在运行
CORS错误将您的客户端源添加到 KC_ALLOWED_ORIGINS
检查器无法连接验证服务器是否正在运行 http://127.0.0.1:8000/mcp/
端口已在使用中终止现有进程或更改 KC_PORT

进一步阅读

目录标签

目录标签

PythonAI代理工作流自动化全栈演示本地部署模型上下文协议流式通信培训工具React客户端

接入字段

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

stdio

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

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP