关于 Penqwin
Penqwin 是面向编码 Agent 的 AST MCP 服务,帮助其探索代码仓库而无需载入完整源文件。它提供包含代码结构和文档的精简骨架,以及仓库和符号搜索工具。
主要功能
- 01含导出名称的仓库索引
- 02文件夹与文件代码骨架
- 03基于 AST 的符号搜索
- 04仓库统计与语言分布
适用场景
- 01编辑前了解仓库结构
- 02不读取完整源码而检查签名
- 03定位导出指定符号的文件
MCP 相关
注册五种 MCP 工具,用于仓库索引、文件与文件夹骨架、符号搜索和仓库统计。它通过配置的环境变量连接 Penqwin 后端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| include_stats | boolean | 否 | 若为 true,同时返回语言分布和文件总数。 |
详细介绍
@penqwin/mcp
一个基于 AST 的模型上下文协议(MCP)服务,为 LLM Agent(如 Cursor、Claude Desktop 和 Antigravity)提供节省令牌的代码库骨架。
该服务不会将完整的原始源代码文件发送给大模型,而是提供文件和目录的结构「骨架」(导入、导出、签名和 JSDoc 注释)。在探索和浏览代码库时,这可将上下文令牌用量减少 80% 到 95%。
功能与工具
该服务通过 MCP 协议注册 5 个核心工具:
| 工具名称 | 描述 |
|---|---|
get_repo_index | 返回精简的代码库目录(所有文件 + 顶层导出名称)。约 10–20 个令牌/文件。 |
get_folder_skeleton | 获取与目录/文件夹前缀匹配的所有文件的结构骨架。 |
get_file_skeleton | 获取单个文件的详细结构骨架(签名、类型、方法、参数和 JSDoc)。 |
search_symbols | 查询 AST 索引,查找导出特定类、函数、结构体或类型的文件。 |
get_repo_stats | 返回代码库的汇总统计信息,包括文件数量和语言分布。 |
配置
MCP 服务完全通过环境变量配置。
| 环境变量 | 描述 | 示例 |
|---|---|---|
PENQWIN_API_KEY | 从数据库生成的机器间 API 密钥 | ed_live_0e21cf14... |
PENQWIN_ORG_ID | 与 API 密钥关联的组织 ID | 0db9f7b5-7206-... |
PENQWIN_REPO | 目标代码库的所有者和名称 | <org_name>/<repo_name> |
PENQWIN_API_URL | penqwin 后端的 REST API 网关 URL | http://app.penqwin.com |
IDE 集成
你可以通过 npx(强烈推荐终端用户使用,因为无需克隆或构建)或指定 本地构建,将此 MCP 服务集成到常用的 IDE 中。
1. 直接集成(通过 npm/npx)
这是最简单的设置方式。IDE 会自动获取并运行此软件包的最新版本。
Cursor
前往 Cursor 设置 -> 功能 -> MCP,然后点击 + 添加新的 MCP 服务:
- 名称:
penqwin - 类型:
command - 命令:
npx -y @penqwin/mcp - 在 env 设置中添加所需的环境变量。
Antigravity / Gemini Code Assistant
将以下内容添加到 mcp_config.json:
{
"mcpServers": {
"penqwin": {
"command": "npx",
"args": ["-y", "@penqwin/mcp"],
"env": {
"PENQWIN_API_KEY": "your_api_key",
"PENQWIN_ORG_ID": "your_org_id",
"PENQWIN_REPO": "your_repo",
"PENQWIN_API_URL": "https://app.penqwin.com"
}
}
}
}
Claude Desktop
将以下内容添加到 claude_desktop_config.json:
{
"mcpServers": {
"penqwin": {
"command": "npx",
"args": ["-y", "@penqwin/mcp"],
"env": {
"PENQWIN_API_KEY": "your_api_key",
"PENQWIN_ORG_ID": "your_org_id",
"PENQWIN_REPO": "your_repo",
"PENQWIN_API_URL": "https://app.penqwin.com"
}
}
}
}
2. 本地源码集成
如果你已在本地克隆代码库并完成编译:
Cursor
- 命令:
node d:/Projects/EngDoc/eng-doc-mcp/dist/index.js(Windows 路径请使用正斜杠)
Antigravity / Claude Desktop
- 命令:
node - 参数:
["d:/Projects/EngDoc/eng-doc-mcp/dist/index.js"]
了解更多:
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。