[!WARNING] 这是一个实验性项目,有很大的改进空间。
这是一个基于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运行,请执行以下命令。
thv run --name nabchan-mcp-server ghcr.io/backpaper0/nabchan-mcp-server -- --transport=stdio
架构设计为仅使用本地的Python环境运行。
使用DuckDB的全文搜索扩展(全文搜索扩展)和形态分析库Lindera构建索引。 从Nablarch文档的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
search_document
uv run -m tools.build_index
[!NOTE] 如果未获取子模块内容,请执行
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