Token导航 LogoToken导航TokenDH.com
Chatbot MCP (D4darius) logo
数据服务stdio官方级别未说明来源级核验

Chatbot MCP (D4darius)

MCP Server

一个集成DOREMUS知识图谱的聊天机器人,通过模型上下文协议(MCP)实现古典音乐元数据的智能查询。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
知识图谱JavaScript聊天机器人

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

d4darius

提供方

d4darius

最后核验

2026/5/17 20:21

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -d \

详细介绍

DOREMUS聊天机器人-MCP集成

一个聊天机器人应用程序,与 DOREMUS知识图谱 通过 模型上下文协议(MCP),实现古典音乐元数据的智能查询。

🎵 概述

该项目结合了 React前端 带着一个 FastAPI后端 提供一个交互式界面,用于查询DOREMUS知识图谱——一个包括作品、作曲家、表演、录音和乐器在内的古典音乐信息的综合数据库。

该应用程序使用:

  • LangGraph 用于构建代理工作流
  • LangChain 用于LLM与工具绑定的集成
  • 模型上下文协议(MCP) 用于结构化访问DOREMUS知识图谱
  • 多个LLM提供商 (OpenAI、Groq、Anthropic、Ollama)

📁 项目结构

ChatbotMCP/
├── backend/                    # Python FastAPI backend
│   ├── src/
│   │   ├── server.py          # FastAPI application & HTTP endpoints
│   │   ├── .env               # Environment variables & API keys
│   │   └── agent/
│   │       ├── mcp_testing_agent.py       # Agent initialization & LLM setup
│   │       ├── extended_mcp_client.py     # Custom MCP client wrapper
│   │       ├── prompts.py                 # System prompts & agent instructions
│   │       └── __init__.py
│   ├── pyproject.toml         # Poetry project configuration
│   └── requirements.txt        # Python dependencies
│
├── frontend/                   # React + Vite frontend
│   ├── src/
│   │   ├── App.jsx            # Main React component
│   │   ├── App.css            # Application styles (Tailwind CSS)
│   │   ├── main.jsx           # React entry point
│   │   └── assets/            # Static assets
│   ├── index.html             # HTML template
│   ├── vite.config.js         # Vite configuration
│   ├── tailwind.config.js     # Tailwind CSS configuration
│   ├── package.json           # Node.js dependencies
│   └── public/                # Public static files
│
└── README.md                  # This file

🚀 如何设置服务器

克隆Repo

git clone https://github.com/d4darius/ChatbotMCP.git
cd ChatbotMCP

设置.env变量

创建文件

nano .env

编辑 .env 使用API密钥:

OPENAI_API_KEY=sk-...
GROQ_API_KEY=gsk_...
LANGSMITH_API_KEY=lsv2_...
OLLAMA_API_URL=https://mcp-kg-ollama.tools.eurecom.fr
OLLAMA_API_KEY=...
  1. 构建docker容器:
   docker build -t mcp-chatbot-app .

然后启动它

   docker run -d \
  --name my-chatbot \
  --restart always \
  -p 8001:8001 \
  --env-file .env \
  mcp-chatbot-app

🔌 API终点

POST /chat

向聊天机器人发送消息并接收流媒体响应。

请求:

{
  "message": "Find all compositions by Beethoven in the knowledge graph",
  "model": "openai"
}

答复: 服务器发送事件(SSE)流,具有:

  • type: "token" -LLM的流式文本响应
  • type: "tool" -工具调用(例如,生成的SPARQL查询)

查询参数:

  • model:法学硕士提供者(openai, groq, anthropic, ollama)

GET /

返回欢迎消息和服务器状态。

🤖 运作原理

graph LR
    A[User Message] -->|React Frontend| B[FastAPI Backend]
    B -->|HTTP Request| C[Agent Initialization]
    C -->|MCP Client| D[DOREMUS Knowledge Graph]
    D -->|SPARQL Results| E[LLM Processing]
    E -->|Streaming Response| B
    B -->|Server-Sent Events| A

代理工作流

  1. 用户输入:用户通过React前端发送自然语言查询
  2. 代理初始化:后端使用以下命令初始化LangGraph React代理:

- 选定的法学硕士(OpenAI、Groq、Anthropic或Ollama) - DOREMUS知识图谱中的MCP工具 - DOREMUS本体知识系统提示

  1. 工具绑定:LLM可以调用MCP工具:

- 探索DOREMUS本体论 - 查找实体URI - 检索实体属性 - 执行SPARQL查询

  1. 回应:格式化结果作为流返回到前端

🛠️ 关键技术

后端

技术目的
快速APIREST API框架
优维康ASGI服务器
LangChainLLM编排和工具集成
LangGraph代理工作流(ReAct代理模式)
langchain mcp适配器MCP↔ LangChain兼容性
主控程序模型上下文协议实现

前端

技术目的
反应19UI框架
维特快速打包器和开发服务器
Tailwind CSS实用程序优先的CSS框架
Lucide React图标库

📊 DOREMUS知识图谱

多雷穆斯 是基于 CIDOC-CRM 随着 FRBR (工作表达表现项)扩展。

数据模型

  • 工作:概念性音乐理念(如“贝多芬第九交响曲”)
  • 表达:用记谱法、标题、作曲家实现音乐
  • 显现:实物记录或出版
  • 物品:表现形式的具体实例
  • 事件:表演或录制活动

词汇

  • 音乐键
  • 模式
  • 类型
  • 表演媒体
  • 主题目录
  • 衍生类型
  • 函数

🔑 环境变量

变量描述示例
OPENAI_API_KEYOpenAI API密钥sk-...
GROQ_API_KEYGroq API密钥gsk_...
LANGSMITH_API_KEYLangSmith跟踪API密钥lsv2_...
LANGSMITH_PROJECTLangSmith项目名称rdfMCP_tester
OLLAMA_API_URLOllama服务器URLhttps://...
OLLAMA_API_KEYOllama身份验证Base64编码
LLM_EVAL_PROVIDER默认LLM提供程序openai
GRAPH_RECURSION_LIMIT代理递归深度25
DOREMUS_MCP_URLMCP服务器端点https://Doremus.fastmcp.app/mcp
DOREMUS_MCP_TRANSPORTMCP传输协议streamable_http

🧪 可用的LLM型号

供应商型号温度
OpenAIgpt-5.20.0
Groqllama-3.3-70b-versatile0.0
奥拉马qwen3-coder:30b0.0

📝 查询示例

  • “查找贝多芬的所有作品”
  • “古典音乐有哪些不同的流派?”
  • “给我看莫扎特交响乐的录音”
  • “探索作品与表演之间的关系”

📦 依赖项

后端

pyproject.toml 完整列表:

  • 核心: fastapi, uvicorn, python-dotenv
  • LLM langchain, langchain-openai, langchain-groq, langchain-anthropic, langchain-ollama
  • 图表: langgraph, langsmith, langchain-mcp-adapters
  • 法学硕士: openai, groq, ollama

前端

看 完整列表:

  • 核心: react@19, react-dom@19
  • 构建: vite@7, autoprefixer, postcss
  • 造型: tailwindcss@3
  • 图标: lucide-react

📚 了解更多

👥 作者

  • 达里奥·戈斯马尔 -dario.gosmar@eurecom.fr
  • 西蒙·法西奥 - simone.fassio@eurecom.fr

📄 许可证

该项目是DOREMUS倡议的一部分。有关许可证信息,请参见项目存储库。

______________________________________________________________________

快乐查询! 🎼

目录标签

目录标签

知识图谱JavaScript聊天机器人本地部署古典音乐元数据查询MCP协议

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP