MCP-MSAccess-Backend
使用说明(Markdown格式)
-
项目简介
- 该仓库实现了一个 MCP 服务器,核心通过 FastMCP 框架暴露一组工具函数,供 LLM 客户端通过 MCP 协议进行资源读取、工具执行、查询执行、VBA/表单/报表等数据库操作,从而将 Access 数据库的能力接入到大语言模型的工作流中。
-
主要功能点
- 资源与数据能力
- 创建、列出数据库、创建表、插入数据、执行读写查询等底层数据库操作。
- 工具注册与执行
- 以装饰器方式将函数注册为 MCP 服务端工具,如 create_database、create_table、insert_data、run_query、list_tables、save_query、list_saved_queries、以及一系列与 VBA、表单、报表相关的工具。
- 提示模板与表单/报表生成
- 提供 generate_form_template、create_form_from_llm_text、generate_report_template 等工具,支持将 LLM 结果转换为 Access 表单、VBA 模块及报表的定义文本。
- 多传输协议支持
- 服务器通过 FastMCP 提供 JSON-RPC 顺序调用,理论上可扩展为标准输入/输出、SSE、WebSocket 等传输协议,以适配不同客户端。
- 会话与并发管理
- 代码中包含对 Access 数据库的打开/关闭、锁文件等待、批量操作模式等逻辑,确保在并发场景下尽量安全地执行数据库操作。
- 资源与数据能力
-
安装步骤
- 环境要求
- Windows 操作系统(Access 相关组件)
- Python 3.x(示例中使用 3.x,文档要求 3.8+)
- Microsoft Access Database Engine(与 Python 架构位数相匹配)
- 依赖与部署
- 通过虚拟环境安装依赖并本地运行 server.py(示例:uv 工具或直接 Python 运行)
- 启动服务器(示意)
- 在项目目录下执行服务器脚本:python server.py
- 也可在虚拟环境中以 uw 方式启动,确保依赖可用
- 环境要求
-
服务器配置(MCP 客户端连接所需的配置示例,JSON 格式)
- 说明:MCP 客户端需要知道服务器的启动命令与参数,以便与 MCP 服务器建立连接。下面为一个准确且简化的配置示例,需按实际本地路径调整:
- server_name: msaccess
- command: 路径到你的 Python 解释器,例如 C:\Path\To\Python\python.exe
- args:包含你要启动的服务器脚本的完整路径,例如 ["C:\Path\To\MCP_MSAccess\server.py"]
- 注释:
- server_name 用于在客户端侧标识该 MCP 服务器实例
- command 指向用于启动服务器的解释器
- args 指向服务器入口脚本(server.py)的完整路径
- 典型配置(描述性文本)
- server_name: "msaccess"
- command: "C:\Path\To\Python\python.exe"
- args: ["C:\Path\To\MCP_MSAccess\server.py"]
- transport 或其他扩展项(若客户端支持)可根据实际客户端实现添加
- 说明:该配置仅用于客户端连接服务器,具体不需要在 MCP 客户端包含实现细节。
-
基本使用方法
- 启动后,客户端可以发送标准的 MCP 请求来调用注册的工具,例如创建数据库、创建表、执行查询、保存/列出查询等。
- 客户端通过 JSON-RPC 的请求格式与服务器通信,获取执行结果、返回数据或错误信息。
- 结合日志与错误处理机制,可以在需要时对并发锁、VBA 编译等情况进行诊断与重试。
-
额外说明
- 本实现包含较多对 Access 的直接操作(COM、ODBC 等),在非 Windows 环境下将不可运行,需在 Windows 环境中使用。
- MCP 服务的具体 RPC 请求格式、响应格式遵循 MCP 的标准约定,客户端应按该协议进行实现。
关键词 LLM上下文服务, 数据资源管理, 外部工具调用, JSON-RPC 服务, 表单与报表生成
分类ID 6