返回 MCP 目录
public公开dns本地运行

nabchan-mcp-server

一个基于Nablarch文档的MCP服务器项目,提供文档搜索和转换功能,支持Docker快速部署。

article

README

🚀 nabchan-mcp-server

nabchan-mcp-server是一个基于Nablarch官方文档信息,返回Nablarch相关信息的MCP服务器。目前该项目仍处于实验阶段,有较大的改进空间。

🚀 快速开始

⚠️ 重要提示

该项目目前仍处于实验阶段,存在较大的改进空间。

使用Docker可以轻松尝试本项目,其架构如下:

graph LR
  a[VSCode]
  b[nabchan-mcp-server<br>(Docker容器)]
  a -->|标准输入输出通信| b

在VSCode中添加以下设置:

{
  "mcp": {
    "inputs": [],
    "servers": {
      "nablarch-document": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "--network",
          "none",
          "-e",
          "TRANSPORT=stdio",
          "ghcr.io/backpaper0/nabchan-mcp-server"
        ]
      }
    }
  }
}

将GitHub Copilot Chat设置为代理模式,即可针对Nablarch相关问题进行提问。

📦 安装指南

通过ToolHive执行

通过ToolHive执行时,请运行以下命令:

thv run --name nabchan-mcp-server ghcr.io/backpaper0/nabchan-mcp-server -- --transport=stdio

🔧 技术细节

架构

采用本地Python环境运行的架构。

使用DuckDB全文搜索扩展(Full-Text Search Extension)和Lindera形态素解析库构建索引。

从解説书的HTML文件中提取文本,并进行形態素解析,作为全文搜索的目标字段。除此之外,还包括标题、概要、内容等信息,均以Markdown格式提供,可通过MCP服务器提供的API进行访问。

graph TD
   h[Nablarch的解説書<br>(HTML文件)]
   c(文本)
   d(摘要)
   t(标题)
   m(Markdown)
   i[DuckDB]

   h -->|BeautifulSoup提取<br>文本| c
   c -->|Lindera进行形态素解析| i
   c -->|LLM生成摘要| d
   d --> i
   h -->|BeautifulSoup提取<br>标题|t
   t --> i
   h -->|html2text转换为<br>Markdown格式| m
   m --> i

API文档

MCP服务器提供的API如下:

  • read_document
    • 返回指定URL的Nablarch解説书以Markdown格式转换的内容。
  • search_document
    • 搜索Nablarch的解説书。返回的信息包括:
      • 标题
      • URL
      • 摘要

📚 详细文档

nabchan-mcp-server开发信息

开发环境要求

  • Python 3.11
  • uv
  • Git
  • Docker

索引构建

uv run -m tools.build_index

⚠️ 重要提示

如果尚未获取子模块内容,请先运行git submodule initgit submodule update

搜索测试

uv run -m tools.search_document -q "Nablarch"

开发时的VSCode配置示例

/path/to/nabchan-mcp-server替换为实际路径:

{
  "mcp": {
    "inputs": [],
    "servers": {
      "nablarch-document": {
        "command": "uv",
        "args": [
          "--directory",
          "/path/to/nabchan-mcp-server",
          "run",
          "-m",
          "nabchan_mcp_server.main"
        ]
      }
    }
  }
}

若使用SSE传输,则配置如下:

{
  "mcp": {
    "inputs": [],
    "servers": {
      "nablarch-document": {
        "type": "sse",
        "url": "http://localhost:8000/sse"
      }
    }
  }
}

使用SSE时,需先运行以下命令启动服务器:

uv run -m nabchan_mcp_server.main --transport sse --host localhost
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端