dhlab mcp
MCP服务器提供访问 DHLAB (挪威国家图书馆数字人文实验室)通过模型上下文协议实现功能。
概述
此服务器公开了以下工具:
- 文本搜索:搜索国家图书馆的数字文本收藏
- NGram分析:分析单词频率随时间的变化趋势
- 一致:在文档中查找单词上下文
- 搭配:发现一起出现的单词
- 单词查找:查找挪威语的词形和词形
- 图像搜索:搜索数字收藏中的图像
- 语料库统计:获取有关文档收藏的信息
安装
此项目使用 uv,可以安装:
# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh克隆并安装:
git clone https://github.com/marksverdhei/dhlab-mcp.git
cd dhlab-mcp
uv sync --dev或直接安装:
pip install git+https://github.com/marksverdhei/dhlab-mcp.git用法
在Claude Code CLI中配置
将MCP服务器添加到您的Claude Code配置中:
# inside the repo directory:
claude mcp add --transport stdio dhlab -- uv --directory $PWD run dhlab-mcp或在用户范围内:
claude mcp add --scope user --transport stdio dhlab -- uv --directory $PWD run dhlab-mcp验证服务器是否已添加:
claude mcp listDHLAB工具将在您的Claude Code会话中可用。
独立运行MCP服务器
您也可以直接运行服务器进行测试:
dhlab-mcp或者在开发模式下:
uv run dhlab-mcp作为本地HTTP API运行
要在自定义端口上将MCP服务器作为本地HTTP API运行,请执行以下操作:
# Run on default port 8000
dhlab-mcp --transport http
# Run on a custom port
dhlab-mcp --transport http --port 9000
# Run on a specific host and port
dhlab-mcp --transport http --host 0.0.0.0 --port 8080服务器支持以下传输选项:
stdio(默认):CLI集成的标准输入/输出http:流式HTTP传输(建议用于网络访问)sse:服务器发送事件传输(旧版,用于向后兼容性)
运行后,HTTP服务器将在以下位置可用 http://: /mcp/.
可用工具
1. search_texts
在数字收藏中搜索文本。
{
"query": "ibsen",
"limit": 10,
"from_year": 1900,
"to_year": 1950,
"media_type": "aviser" # or "bøker", "tidsskrift"
}2. ngram_frequencies
获取单词频率随时间的变化趋势。
{
"words": ["frihet", "demokrati"],
"corpus": "bok", # or "avis"
"from_year": 1810,
"to_year": 2020
}3. find_concordances
在文档中查找单词上下文(返回HTML格式的文本)。
{
"urn": "URN:NBN:no-nb_digibok_2008051404065",
"word": "Norge",
"window": 25
}输出格式:HTML格式与 `` 突出显示匹配项的标签。
4. word_concordance
使用结构化输出(无HTML格式)查找单词上下文。
{
"urn": "URN:NBN:no-nb_digibok_2008051404065",
"word": "Norge",
"window": 12
}输出格式:使用单独字段清理结构化数据:
dhlabid:文档标识符before:匹配单词前的文本target:匹配的单词本身after:匹配单词后的文本
用例:
- 使用
find_concordances用于显示/UI(HTML格式) - 使用
word_concordance用于分析/处理(结构化数据)
5. find_collocations
查找出现在目标单词附近的单词。
{
"urn": "URN:NBN:no-nb_digibok_2008051404065",
"word": "frihet",
"window": 5
}6. lookup_word_forms
查找挪威语单词的不同形式。
{
"word": "løpe"
}7. lookup_word_lemma
查找单词的引理(基本形式)。
{
"word": "løper"
}8. search_images
在收藏中搜索图像。
{
"query": "Oslo",
"limit": 10,
"from_year": 1900,
"to_year": 1950
}9. get_corpus_statistics
获取一组文档的统计信息。
{
"urns": ["URN:NBN:no-nb_digibok_2008051404065"]
}发展
对于开发,请安装:
uv sync --dev
uv pip install -e .运行测试:
pytest格式代码:
ruff format src/ tests/关于DHLAB
DHLAB是一个Python库,用于对挪威国家图书馆收藏的数字文本进行定性和定量分析。有关更多信息,请访问:
许可证
请参阅许可证文件。
