Fagskolen i Viken MCP 后端服务器
使用说明内容(Markdown格式)
-
项目简介
- 该仓库包含一个基于 MCP(Model Context Protocol)的服务器实现,核心功能是通过 MCP 将数据库中的学习信息(如学习项目、课程、地点等)以结构化的工具形式暴露给 LLM 客户端,支持资源访问、工具调用与数据渲染,便于实现可扩展的上下文服务。
-
主要功能点
- MCP 服务器:提供一个运行中的 MCP 服务,支持通过 HTTP 传输的 JSON-RPC 请求与响应。
- 数据资源与工具暴露:将 study_programs、courses、study_place 等表的查询能力作为工具对外暴露,方便代理/LLM 调用。
- 数据库连接层:内置数据库连接和查询封装,便于工具实现和查询复用。
- 多工具组合:可以同时注册多个工具,支持对学习项目数量、分类、名称、数据字段、课程信息、课程与学习项目的映射等查询。
- 基础扩展能力:结构设计允许添加更多表和查询,便于将来扩展。
-
安装步骤
- 环境准备
- 安装 Python 3.x(建议 3.8 及以上)。
- 安装所需依赖:MySQL 客户端库(如 mysql-connector-python),BeautifulSoup(bs4)等,用于数据抓取/处理的相关模块,以及 MCP 客户端/服务端需要的依赖。
- 获取代码
- 将仓库克隆到本地或服务器。
- 数据库准备
- 在 MySQL 中创建数据库(默认名 fagskolen),确保所需表(study_programs、courses、study_place、lookuptalbe_study_course 等)结构与代码中的查询/写入匹配。
- 配置(若需要自定义)
- 数据库连接默认参数为本地配置:host=127.0.0.1、user=root、password=admin。可按需修改以匹配实际环境。
- 启动 MCP 服务器
- 在仓库根目录下执行启动命令(示例):
- python -u FastMCP_server/mcp_server.py
- 服务器将以默认的传输协议 HTTP 启动,端口通常为 8001(根据实现的 main() 调用进行暴露)。
- 在仓库根目录下执行启动命令(示例):
- 验证
- 使用 MCP 客户端对该服务进行简单的 JSON-RPC 调用,验证工具如 get_number_of_study_programs、get_study_program_categories 等是否返回结构化的 JSON 结果。
- 环境准备
-
服务器配置(MCP 客户端需要的最低信息,JSON 格式描述,供参考)
- server name: MyServer
- command: "python3"(或 "python")
- args: ["-u", "FastMCP_server/mcp_server.py"]
- 说明:这是客户端连接 MCP 服务器所需的最小启动信息,用于向 MCP 服务端建立连接。具体的连接地址和端口由服务器在运行时暴露的传输协议决定(如 HTTP/http 传输,端口 8001)。
-
基本使用方法
- 启动后,MCP 客户端可以发送 JSON-RPC 请求,调用暴露的工具来查询学习信息、课程数据等。
- 常用操作包括读取学习项目数量、获取分类、获取名称、获取数据字段、以及通过课程/地点等字段组合查询数据等。
- 通过工具返回的 JSON 结构,LLM 可以将结果整合进对话上下文并生成回答。