DraCor戏剧分析MCP服务器使用说明
项目简介
本项目是一个基于Model Context Protocol (MCP) 的服务器实现,旨在为大型语言模型 (LLM) 提供访问和分析戏剧作品数据的能力。它通过连接 Drama Corpora Project (DraCor) API,将丰富的戏剧文本、人物关系、网络数据等资源以标准化的 MCP 协议形式提供给 LLM 客户端,例如 Claude。用户可以通过 LLM 客户端,利用本项目提供的资源和工具,进行深入的戏剧文学分析。
主要功能点
- 戏剧作品数据访问: 提供访问 DraCor API v1 的统一接口,无需用户进行复杂的 API 调用。
- 资源管理: 以结构化的资源形式 (Resources) 提供戏剧语料库、剧本信息、人物、文本、人物关系、网络数据等,方便 LLM 客户端按需获取。
- 分析工具: 内置多种戏剧分析工具 (Tools),例如剧本搜索、剧本对比、人物关系分析、剧本结构分析、跨剧本人物查找、全文分析等,支持 LLM 客户端调用执行。
- Prompt模板: 预置多种 Prompt 模板 (Prompts),涵盖剧本分析、人物分析、网络分析、对比分析、性别分析、历史背景分析、全文分析等,方便用户快速启动各种分析任务。
- 数据格式: 支持多种数据格式,包括 JSON, CSV, GEXF, GraphML, 纯文本, TEI XML 等,满足不同分析需求。
- 无需认证: DraCor API 为公开 API,本项目无需额外的身份认证配置,安装即可使用。
安装步骤
-
环境准备: 确保已安装 Python 3.10 或更高版本。推荐使用 'uv' 包管理器,或者 'pip'。
-
安装 UV (如果选择 uv):
pip install uv -
创建虚拟环境并安装依赖:
uv venv # 或 python -m venv .venv source .venv/bin/activate # Linux/macOS .venv\Scripts\activate # Windows uv pip install -e . # 或 pip install -e . -
安装 MCP 服务器到 Claude Desktop:
- FastMCP 实现 (推荐, v1 API): 在 Claude Desktop 中运行命令:
mcp install dracor_mcp_fastmcp.py - 标准实现 (v0 API): 如果需要使用旧版本,运行命令:
mcp install dracor_mcp_server.py
- FastMCP 实现 (推荐, v1 API): 在 Claude Desktop 中运行命令:
-
开发模式 (可选): 用于测试和开发,启动 MCP Inspector 交互式测试工具和资源。
- FastMCP 实现 (推荐, v1 API):
mcp dev dracor_mcp_fastmcp.py - 标准实现 (v0 API):
mcp dev dracor_mcp_server.py
- FastMCP 实现 (推荐, v1 API):
服务器配置
要将 DraCor MCP 服务器配置到 MCP 客户端(例如 Claude),您需要提供服务器的启动命令和参数。以下是 FastMCP 实现 (v1 API) 的配置示例 (JSON 格式):
{ "tools": { "DraCor API v1": { // 服务器名称,可自定义 "command": "uv", // 启动服务器的命令,这里使用 uv 包管理器运行 Python 脚本 "args": [ // 命令参数列表 "run", // uv run 子命令,用于运行程序 "--with", // --with 参数用于指定 uv 虚拟环境中的依赖 "mcp[cli]", // 指定 mcp 及其命令行工具作为依赖 "--with", // 继续添加依赖 "requests", // 指定 requests 库作为依赖,用于网络请求 "--with", // 继续添加依赖 "pydantic", // 指定 pydantic 库作为依赖,用于数据验证 "--with", // 继续添加依赖 "python-multipart", // 指定 python-multipart 库作为依赖,用于处理 multipart/form-data "mcp", // 运行 mcp 命令 "run", // mcp run 子命令,用于启动 MCP 服务器 "/path/to/dracor-mcp/dracor_mcp_fastmcp.py" // MCP 服务器脚本的路径,请替换为 dracor-mcp 仓库在您本地的实际路径 ] } } }
注意:
- 请将 '/path/to/dracor-mcp/dracor_mcp_fastmcp.py' 替换为您本地 'dracor-mcp' 仓库的实际路径。
- 如果您没有使用 'uv',而是使用 'pip' 安装依赖,可以将 'command' 修改为 'python',并相应调整 'args' 参数,例如去除 '--with mcp[cli]' 等 uv 特有的参数,并确保 Python 环境中已安装 'mcp' 包。
基本使用方法
成功安装和配置 DraCor MCP 服务器后,您可以在 Claude 或其他 MCP 客户端中,通过自然语言指令与 DraCor API 进行交互,例如:
- 查询可用戏剧语料库: 向 Claude 提问: "Can you list all available drama corpora in DraCor?" (你能列出 DraCor 中所有可用的戏剧语料库吗?)
- 获取特定剧本信息: 提问: "Tell me about Goethe's Faust in the German corpus" (告诉我德语语料库中关于歌德《浮士德》的信息)
- 分析人物网络: 提问: "Analyze the character network in Hamlet from the Shakespeare corpus" (分析莎士比亚语料库中《哈姆雷特》的人物网络)
- 比较剧本: 提问: "Compare Goethe's Faust and Schiller's Die Räuber in terms of network density and character count" (从网络密度和人物数量方面比较歌德的《浮士德》和席勒的《强盗》)
- 全文分析: 提问: "Provide a comprehensive analysis of the full text of Goethe's Faust" (提供对歌德《浮士德》全文的综合分析)
通过结合 Prompt 模板和工具,您可以进行更深入的戏剧分析,例如人物关系分析、剧本结构分析、性别研究、历史背景分析等。
信息
分类
网页与API