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,本项目无需额外的身份认证配置,安装即可使用。

安装步骤

  1. 环境准备: 确保已安装 Python 3.10 或更高版本。推荐使用 'uv' 包管理器,或者 'pip'。

  2. 安装 UV (如果选择 uv):

    pip install uv
  3. 创建虚拟环境并安装依赖:

    uv venv  # 或 python -m venv .venv
    source .venv/bin/activate  # Linux/macOS
    .venv\Scripts\activate  # Windows
    uv pip install -e .  # 或 pip install -e .
  4. 安装 MCP 服务器到 Claude Desktop:

    • FastMCP 实现 (推荐, v1 API): 在 Claude Desktop 中运行命令:
      mcp install dracor_mcp_fastmcp.py
    • 标准实现 (v0 API): 如果需要使用旧版本,运行命令:
      mcp install dracor_mcp_server.py
  5. 开发模式 (可选): 用于测试和开发,启动 MCP Inspector 交互式测试工具和资源。

    • FastMCP 实现 (推荐, v1 API):
      mcp dev dracor_mcp_fastmcp.py
    • 标准实现 (v0 API):
      mcp dev dracor_mcp_server.py

服务器配置

要将 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