nabchan-mcp-server是一个基于Nablarch官方文档信息,返回Nablarch相关信息的MCP服务器。目前该项目仍处于实验阶段,有较大的改进空间。
⚠️ 重要提示
该项目目前仍处于实验阶段,存在较大的改进空间。
使用Docker可以轻松尝试本项目,其架构如下:
graph LR
a[VSCode]
b[nabchan-mcp-server
(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执行时,请运行以下命令:
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的解説書
(HTML文件)]
c(文本)
d(摘要)
t(标题)
m(Markdown)
i[DuckDB]
h -->|BeautifulSoup提取
文本| c
c -->|Lindera进行形态素解析| i
c -->|LLM生成摘要| d
d --> i
h -->|BeautifulSoup提取
标题|t
t --> i
h -->|html2text转换为
Markdown格式| m
m --> i
MCP服务器提供的API如下:
read_document
search_document
uv run -m tools.build_index
⚠️ 重要提示
如果尚未获取子模块内容,请先运行
git submodule init和git submodule update。
uv run -m tools.search_document -q "Nablarch"
将/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