Spark MCP Server
使用说明(Markdown 格式,便于快速上手):
- 项目简介
- 这是一个用于实现 MCP(Model Context Protocol)的后端服务器,专门从 Spark Desktop 的本地数据库读取并暴露上下文数据与多种上下文工具,供大型语言模型(LLM)客户端调用。服务器以只读方式访问本地数据库,确保数据安全与稳定性,并提供丰富的工具集合用于查询转写、搜索、统计、邮件、日历、PDF 处理等场景。
- 主要功能点
- 资源与数据访问:读取 Spark Desktop 本地数据库中的会议记录、转录文本、邮件、日历事件等元数据及全文本信息。
- 工具注册与执行:通过 MCP 接口暴露一组工具,例如 list_meeting_transcripts、get_meeting_transcript、search_meeting_transcripts、get_transcript_statistics、list_emails、search_emails、get_email、list_events、get_event_details、get_daily_briefing 等,LLM 客户端可按需调用。
- 文本提取与处理:对于邮件附件、PDF、Word、Excel 等支持文本提取或转为可使用的文本内容,便于上下文提供。
- PDF 表单与模板工具:支持填充表单、签名、模板管理等,提供更丰富的文档处理能力。
- 只读安全性:数据库以只读模式打开,避免修改 Spark Desktop 的数据。
- 本地化运行:通过标准输入输出(stdio)协议与客户端通信,支持多种传输模式。
- 安装步骤
- 安装依赖并在开发模式安装:
- 使用 Python 的开发模式安装包(pip install -e .)。
- 运行服务器(本地测试/Standalone 使用)
- 直接运行:python -m spark_mcp.server
- 也可在集成环境中使用等同入口启动服务器。
- 安装依赖并在开发模式安装:
- 服务器配置(MCP 客户端必须提供的启动配置信息)
- MCP 客户端需要一个配置来启动并连接到该 MCP 服务器。以下示例以 Claude Desktop 为例,描述一个合法的配置思路(JSON 格式,供参考,实际客户端不需要此代码,仅用于理解如何将服务器接入客户端):
- 第一种启动方式(在开发阶段本地运行): { "serverName": "spark", "command": "python", "args": ["-m", "spark_mcp.server"], "cwd": "/path/to/your/spark-mcp" }
- 第二种通过已安装的包方式启动(如果你已将仓库打包并可直接执行): { "serverName": "spark", "command": "spark-mcp" }
- 注:以上为客户端的连接配置信息示意。实际 MCP 客户端需要在其配置中仅指定要连接的服务器名称、启动命令和参数,客户端本身并不需要你在此处编写服务器端代码或进行额外的 API 调用配置。
- MCP 客户端需要一个配置来启动并连接到该 MCP 服务器。以下示例以 Claude Desktop 为例,描述一个合法的配置思路(JSON 格式,供参考,实际客户端不需要此代码,仅用于理解如何将服务器接入客户端):
- 基本使用方法
- 将 Spark MCP 服务器添加到客户端的 MCP 设置中(名称可自定义,如 spark),并在启动时使用上述启动命令启动服务器进程。
- 启动后,LLM 客户端即可调用该服务器暴露的工具,例如列出转录本、获取全文、本地检索、获取邮件与日历信息、以及处理 PDF/附件等场景。
- 如遇连接或数据访问问题,请检查本地 Spark Desktop 数据库是否存在、权限是否正确,以及服务器日志输出。