mcp-for-mcv
使用说明内容(Markdown格式)
-
项目简介
- 本仓库实现了一个基于 FastMCP 的 MCP 服务器,用于向 LLM 客户端提供来自 MyCourseVille 的上下文数据、可调用的工具,以及可渲染的提示逻辑。服务器通过 MCP 协议接收客户端请求,返回结构化的 JSON-RPC 响应,并支持通过插件式路由组织不同领域的工具。
-
主要功能点
- 提供工具集:包括获取当前用户信息、读取课程数据、获取作业、课程材料等,便于客户端在对话中直接调用外部功能获取数据。
- 资源访问能力:通过对 MC 视频/课程等信息的聚合,实现对外部系统数据的标准化访问。
- 授权与安全:引入基于 OAuth 的授权提供者,支持对接外部身份提供方并在后端进行令牌验证。
- 模块化结构:将服务器、路由、控制器、工具和辅助方法分离,便于扩展和维护。
- 兼容多种 MCP 客户端:培训后端可与 Cursor、Claude、MCP Inspectors 等客户端搭配使用。
- HTTP 路由与健康检测:提供根路径和健康接口,便于运维和监控。
-
安装步骤
- 确保环境为 Python 3.10 及以上。
- 安装依赖,或直接通过 pyproject.toml 安装所需包(FastMCP、FastAPI 等)。
- 设置环境变量(示例:APP_NAME、HOST、PORT、MCV_CLIENT_ID、MCV_CLIENT_SECRET、MCV_REDIRECT_PATH 等)。
- 启动服务器:使用仓库提供的启动命令启动服务,例如 uv run src/server.py。
- 访问 MCP 端点的默认地址:http://localhost:8000/mcp
- 如需使用 MCP Inspector 进行调试,可按照文档启动并选择对应的传输方式与服务地址。
-
服务器配置(MCP 客户端需要连接的服务器信息) 说明:以下为示例配置,具体参数以实际部署为准。服务器名称用于标识,command 为启动服务器的命令,args 为启动命令的参数集合。MCP 客户端不需要任何代码即可使用此信息进行连接配置。 { "mcpServers": { "mcv-mcp-server-1": { "name": "mcv-mcp-server-1", "command": "uv run src/server.py", "args": [] } // 如需通过端口区分或指定绑定信息,可在 args 中添加,例如 ["--host","127.0.0.1","--port","8000"] } }
-
基本使用方法
- 启动后,MCP 客户端通过服务器地址进行通信(默认 http 协议,端口 8000,路径 /mcp)。
- 客户端可通过工具接口调用,如获取当前用户信息、查询课程、获取作业等,后端会通过 MyCourseVille 的 API 提供数据。
- 如需对接其他身份提供方,可在 OAuth 提供者配置中调整客户端 ID、密钥及回调地址等参数。