research-project-mcp-demo
A demo MCP server for research project management that enables document ingestion, information extraction, project tracking, and report generation through MCP tools.
README
科研管理大模型原型系统 - 课题管理 MCP Server Demo
本项目是“科研管理大模型原型系统”中“课题管理智能体模块”的本地 MCP Server Demo。它面向本地展示和后续平台接入,优先跑通文档导入、结构化抽取、课题档案管理、人员/进度/资金管理、报表生成和 MCP 工具调用闭环。
功能范围
已覆盖:
- 2.2.1 文档信息自动提取与管理。
- 2.2.2 课题过程自动化管理。
- 2.2.4 报表与总结自动生成。
暂不完整实现:
- 复杂课题风险预警系统。
- 生产级权限系统。
- 复杂前端。
- 完整知识图谱。
- 科研布局和成果管理模块。
- 强制 LLM 抽取。
已实现功能
- DOCX/PDF/TXT/MD/XLSX/XLS/CSV 解析入口,其中当前样例重点验证 DOCX。
- 文档分类:立项签报、采购签报、绩效发放签报、阶段报告、课题统计报表、未知。
- 规则抽取:课题名称、负责人、部门、起止时间、预算、绩效、成员、进度、阶段内容等。
- 抽取 evidence 保留。
- SQLite 本地档案库。
- 文档版本、hash、导入时间记录。
- 人员、里程碑、资金、采购、绩效、阶段成果、操作日志表。
- Markdown 报表和阶段总结。
- Excel 多 Sheet 报表导出。
- FastAPI 本地接口。
- FastMCP 工具集。
- 本地路径和 HTTP/HTTPS 文件 URL 导入入口。
- 知识库输入文本落地目录。
- Dockerfile。
- 基础测试用例。
项目结构
app/
main.py
mcp_server.py
config.py
database.py
models.py
schemas.py
document_parser.py
document_classifier.py
extractor.py
services/
tools/
utils/
data/
demo.db
uploads/
reports/
knowledge_base_inputs/
docs/
scripts/
tests/
requirements.txt
Dockerfile
安装依赖
python -m pip install -r requirements.txt
初始化数据库
python scripts/init_db.py
导入样例文件
python scripts/ingest_samples.py
本地运行 Demo
python scripts/run_demo.py
运行 FastAPI
python -m uvicorn app.main:app --reload --port 8000
接口:
/health/demo/projects/projects/{project_id}/reports/docs
运行 MCP Server
python app/mcp_server.py
默认 SSE 地址:
http://127.0.0.1:8001/sse
平台接入时,远程 URL、鉴权、上传文件参数形态仍需按 docs/UNKNOWN_ITEMS.md 确认。
PostgreSQL 可通过环境变量切换:
set RPM_DATABASE_URL=postgresql+psycopg://user:password@host:5432/dbname
Docker
docker build -t research-project-mcp-demo .
docker run --rm -p 8001:8001 -v %cd%/data:/app/data research-project-mcp-demo
MCP 工具清单
ingest_project_documentsingest_project_documents_textget_extraction_resultconfirm_project_dataquery_projectlist_projectsupdate_project_progressget_project_fund_summarygenerate_project_reportsearch_project_documentsget_operation_logs
数据库表
project_infoproject_documentproject_memberproject_milestoneproject_fundproject_purchaseproject_performanceproject_stage_resultoperation_log
平台接入说明
本地 Demo 当前优先采用 FastMCP SSE。平台手册和截图显示灵犀支持远程 MCP、容器化 MCP、API 转 MCP 三种方式。建议优先确认远程 MCP 的协议和 URL 要求,再接入:
http://<可被平台访问的主机>:8001/sse
如平台只能接 OpenAPI,可临时使用 FastAPI 的 /docs 或 /openapi.json 做 API 转 MCP 备选。
待确认问题
详见:
docs/UNKNOWN_ITEMS.md
重点包括平台协议、文件上传参数形态、容器持久化、模型 API、PostgreSQL 要求、报表格式和验收边界。
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.