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项目,并受其各自许可证的约束。
