research-project-mcp-demo

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.

Category
Visit Server

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_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
  • search_project_documents
  • get_operation_logs

数据库表

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

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured