使用说明
Adwaita MCP服务器
一个MCP(模型上下文协议)服务器,提供对GTK4和Libadwaita文档的访问。
特性
- 资源:访问所有GTK4和Libadwaita markdown文档文件
- 工具:搜索文档、获取特定文档并列出可用主题
- 提示:用于搜索文档和入门指南的预配置提示
安装
# Install dependencies
pip install mcp
# Or install in development mode
pip install -e .
用法
运行服务器
python server.py
服务器在stdio上运行,可以与任何MCP客户端集成。
可用工具
-
搜索文档:搜索GTK4和Libadwaita文档
query:搜索查询(小部件名称、概念或主题)category:可选类别筛选器(gtk,libadwaita,或all)
-
get_document:获取特定文档文件的完整内容
path:文档文件的相对路径
-
列表主题:列出所有可用的文档主题
category:可选类别筛选器
可用提示
- 搜索文档:在GTK4和Libadwaita文档中搜索特定主题
- 开始:GTK4或Libadwaita入门指南
资源
所有markdown文档文件都以URI的形式作为资源公开,格式如下:
adwaita://{category}/{relative_path}
例如:
adwaita://libadwaita/libadwaita-main/initialization.mdadwaita://gtk/gtk-main/reference/gtk/getting_started.md
配置
VS Code
将其添加到您的VS Code MCP配置文件中 ~/.config/Code/User/mcp.json:
{
"servers": {
"adw-server": {
"command": "/absolute/path/to/adwaita-mcp/venv/bin/python",
"args": [
"/absolute/path/to/adwaita-mcp/server.py"
]
}
},
"inputs": []
}
替换 /absolute/path/to/adwaita-mcp 带有此存储库克隆的实际路径。
看 mcp.json.example 对于模板。
Claude桌面版
将此添加到您的Claude Desktop配置文件中:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"adwaita-docs": {
"command": "python",
"args": ["/absolute/path/to/adwaita-mcp/server.py"]
}
}
}
或者,如果你想在隔离环境中使用紫外线:
{
"mcpServers": {
"adwaita-docs": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/adwaita-mcp",
"run",
"server.py"
]
}
}
}
文档结构
服务器包括 59份文件:
-
GTK4 (48个文件):用于创建图形用户界面的小部件工具包
- GDK(低级显示和输入)
- 葛兰素史克(渲染)
- GTK(小部件和应用程序框架)
- 平台特定指南(Wayland、X11、macOS、Windows、Broadway)
- 迁移指南(GTK 2→4,GTK 3→4,GTK 4→5)
- 开发人员指南(构建、编译、运行、调试)
-
黎巴嫩 (11个文件):现代GNOME应用程序的构建块
- 初始化和开始
- 自适应布局
- 样式类和CSS变量
- 小工具库
- 迁移指南(libhandy到libadwaita、断点、自适应对话框)
发展
服务器是用Python编写的,使用官方 mcp 包裹。它扫描markdown文件 docs/ 目录,并通过MCP协议公开它们。
要添加更多文档:
- 将标记文件放入
docs/gtk-main/或docs/libadwaita-main/ - 重新启动服务器
- 新文件将被自动检测并可用
许可证
此MCP服务器按原样提供。文档文件来自GTK和Libadwaita项目,并受其各自许可证的约束。