mcpField
N
nabchan-mcp-server

nabchan-mcp-server

本地服务
github.com/backpaper0开发工具277 周前更新

关于 nabchan-mcp-server

nabchan-mcp-server 是一个实验性的 MCP 服务,基于 Nablarch 解说文档回答问题。它在本地为文档建立索引,并提供搜索结果和 Markdown 文档内容。

主要功能

  1. 01搜索 Nablarch 文档
  2. 02以 Markdown 形式读取文档
  3. 03构建本地全文索引
  4. 04使用 DuckDB 和 Lindera 建立索引

适用场景

  1. 01查找相关的 Nablarch 文档
  2. 02以 Markdown 格式阅读文档页面
  3. 03在 Agent 对话中回答 Nablarch 问题

MCP 相关

通过 `search_document` 搜索文档,并通过 `read_document` 向 MCP 客户端返回 URL 对应的 Markdown 文档。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

来自项目 README

nabchan-mcp-server

警告

これは実験的なプロジェクトであり、改善の余地が大いにあります。

概要

Nablarchの解説書をもとにしてNablarchの情報を返すMCPサーバーです。

Getting started

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をAgentモードにして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

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 initとgit 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。