Skip to main content
Glama
DaisyLandForu

research-project-mcp-demo

科研管理大模型原型系统 - 课题管理 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_documents

  • ingest_project_documents_text

  • get_extraction_result

  • confirm_project_data

  • query_project

  • list_projects

  • update_project_progress

  • get_project_fund_summary

  • generate_project_report

  • save_researcher_profile_page

  • save_duplicate_check_report_page

  • search_project_documents

  • get_operation_logs

save_researcher_profile_page 用于保存科研人员画像 HTML,并返回可在浏览器打开的 /profile-pages/{filename} 页面链接。save_duplicate_check_report_page 用于保存查重智能体生成的论文查重分析报告 HTML。两类页面链接都复用 RPM_DOWNLOAD_BASE_URL 对应的 FastAPI 外部访问地址。

数据库表

  • project_info

  • project_document

  • project_member

  • project_milestone

  • project_fund

  • project_purchase

  • project_performance

  • project_stage_result

  • operation_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 要求、报表格式和验收边界。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DaisyLandForu/research-project-mcp-demo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server