Taiga UI MCP 服务器

🚧 Alpha 发布
@taiga-ui/mcp 目前处于 alpha 阶段。
🚀 快速集成 Taiga UI 组件到您的 AI 工作流
一个模型上下文协议(MCP)服务器,提供全面访问 Taiga UI 组件的能力。无缝地获取 Taiga UI 组件实现以供您的 AI 助力开发工作流使用。
主要特性
- 文档 + 代码片段。完整的 Taiga UI 文档加上现成的 Angular 示例。
- 两个 MCP 工具。通过
get_list_components 发现组件,通过 get_component_example 获取示例。
- 可配置且轻量级。无需本地安装 Angular,即可切换源 URL(稳定版/预览版)。
要求
- Node.js 18 或更高版本
- VS Code, Cursor, Windsurf, Claude Desktop, Goose 或其他任何 MCP 客户端
开始使用
首先,使用您的客户端安装 Taiga UI MCP 服务器。
标准配置 在大多数工具中都能正常工作:
{
"mcpServers": {
"taiga-ui": {
"command": "npx",
"args": [
"@taiga-ui/mcp@latest",
"--source-url=https://taiga-ui.dev/llms-full.txt" // 或者从 /next 版本的文件,如果您需要的话
]
}
}
}
工具
<details>
<summary><b>核心自动化</b></summary>
get_list_components { query?: string }
- 列出组件/部分标识符(带有模糊子字符串过滤器),以及基本元数据(类别、包、类型)。
- 输入:可选的
query 字符串用于过滤 ID(不区分大小写的子字符串)。
- 输出:严格结构化的 JSON 包含
items, total。
get_list_components();
{
"items": [
{
"id": "components/Alert",
"name": "Alert",
"category": "components",
"package": "CORE",
"type": "component"
},
{
"id": "components/Button",
"package": "CORE",
"type": "component",
"name": "Button",
"category": "components"
},
...
],
}
get_component_example { "names": ["...", "..."] }
- 返回每个解析部分的完整 Markdown 内容(整个组件文档)。
- 模糊名称解析:精确匹配、路径片段、后缀、子字符串及
Tui* 变体。
- 输入:
{ names: string[] }(每个名称长度 ≥ 2)。
- 输出:
results 数组中的对象:query, id(如果已解析),package, type, suggestions(仅当未解析时),content(如果有示例,则为代码块数组)。顶层还包括 matched(解析名称的数量)。
get_component_example({names: ['Alert']});
{
"results": [
{
"query": "Alert",
"id": "components/Alert",
"package": "CORE",
"type": "component",
"content": ["# components/Alert\n- **Package**: ... (完整的组件 API、用法示例等)"]
}
],
"matched": 1
}
提示:结合 get_list_components 来发现 ID,然后使用 get_component_example 获取完整的实现片段。
</details>
维护
Taiga UI MCP 是 Taiga UI 库家族的一部分,由大型企业支持和使用。这意味着您可以依赖及时的支持和持续的发展。
作者
<table>
<tr>
<td align="center">
<a href="https://github.com/vladimirpotekhin"
><img
src="https://gips0.baidu.com/it/u=2259440040,3920226588&fm=3081&app=3081&f=JPEG?w=200&h=200"
width="100"
style="margin-bottom: -4px; border-radius: 8px;"
alt="Vladimir Potekhin"
/><br /><b>Vladimir Potekhin</b></a
>
<div style="margin-top: 4px">
<a
href="https://twitter.com/v_potekhin"
title="Twitter"
><img
width="16"
src="https://raw.githubusercontent.com/MarsiBarsi/readme-icons/main/twitter.svg"
/></a>
<a
href="https://github.com/vladimirpotekhin"
title="GitHub"
><img
width="16"
src="https://raw.githubusercontent.com/MarsiBarsi/readme-icons/main/github.svg"
/></a>
<a
href="https://t.me/v_potekhin"
title="Telegram"
><img
width="16"
src="https://raw.githubusercontent.com/MarsiBarsi/readme-icons/main/send.svg"
/></a>
</div>
</td>
<td align="center">
<a href="https://github.com/mdlufy"
><img
src="https://gips0.baidu.com/it/u=1079303294,893749644&fm=3081&app=3081&f=JPEG?w=200&h=200"
width="100"
style="margin-bottom: -4px; border-radius: 8px;"
alt="German Panov"
/><br /><b>German Panov</b></a
>
<div style="margin-top: 4px">
<a
href="https://twitter.com/mdlufy_"
title="Twitter"
><img
width="16"
src="https://raw.githubusercontent.com/MarsiBarsi/readme-icons/main/twitter.svg"
/></a>
<a
href="https://github.com/mdlufy"
title="GitHub"
><img
width="16"
src="https://raw.githubusercontent.com/MarsiBarsi/readme-icons/main/github.svg"
/></a>
<a
href="https://t.me/mdlufy"
title="Telegram"
><img
width="16"
src="https://raw.githubusercontent.com/MarsiBarsi/readme-icons/main/send.svg"
/></a>
</div>
</td>
</tr>
</table>