@苏法老/mcp
](https://www.npmjs.com/package/@pharaoh-so/mcp)  ](https://nodejs.org) 
MCP代理 法老 --将代码库映射到AI代理的可查询知识图中。
法老为AI编码助手提供了一个完整的代码库架构图:每个函数、依赖关系、模块和连接。你的AI代理不是一次读取一个文件,而是查询知识图,并立即获得有关爆炸半径、未使用代码、依赖链等的答案。
此软件包支持 克劳德代码 与法老建立联系 无头环境 (VPS、SSH、容器、CI),其中浏览器不适用于OAuth。它充当一个从stdio到SSE的代理,将自己呈现为本地MCP服务器,同时将所有通信中继到远程法老服务器。
快速开始
步骤1--身份验证
直接运行代理以触发设备授权流程:
npx @pharaoh-so/mcp这将显示设备代码和URL。在上打开URL 任何设备 (手机、笔记本电脑、平板电脑)并输入密码进行授权。凭据保存到 ~/.pharaoh/credentials.json 有效期为7天,到期后自动重新授权。
步骤2——添加到Claude代码
npx @pharaoh-so/mcp验证连接:
claude mcp list你应该看看 pharaoh 列为a 标准 服务器。
从SSE切换
如果您之前将法老添加为SSE服务器,请先将其删除:
claude mcp remove pharaoh
npx @pharaoh-so/mcp运作原理
Claude Code ← stdio → @pharaoh-so/mcp ← SSE/HTTP → mcp.pharaoh.so代理实现了 模型上下文协议 (MCP)规格:
- 克劳德代码 将代理作为子进程启动,并通过以下方式进行通信 标准 (标准输入/标准输出)
- 代理 使用存储的凭据与法老进行身份验证(或触发设备流)
- 所有MCP消息 (工具调用、响应、通知)通过以下方式中继到远程法老服务器 上海证券交易所 (服务器发送的事件)
- 法老 查询知识图并将架构数据返回给代理
- 代理 通过stdio将响应转发回Claude Code
身份验证使用 RFC 8628 (OAuth 2.0设备授权授予)-运行Claude Code的机器上不需要浏览器。
可用工具
一旦连接,法老提供了19个MCP工具,分为四类:
东方(免费)
| 工具 | 它的答案 |
|---|---|
get_codebase_map | 存在哪些模块,它们之间有什么关系? |
get_module_context | 在我修改这个模块之前,它是什么样子的? |
search_functions | 这个功能是否已经存在于某个地方? |
get_design_system | 哪些UI组件和令牌已经存在? |
调查(免费+专业版)
| 工具 | 它的答案 |
|---|---|
get_blast_radius | 如果我更改此函数/文件/模块,会有什么问题? |
query_dependencies | 这两个模块是如何连接的? |
check_reachability | 这个功能真的可以从入口点访问吗? |
get_vision_docs | 这个有PRD或规格吗? |
审计(专业)
| 工具 | 它的答案 |
|---|---|
get_vision_gaps | 什么是指定但未构建的?什么是已构建但未指定的? |
get_cross_repo_audit | 共享依赖关系是否在repos之间漂移? |
get_consolidation_opportunities | 重复或重叠的逻辑在哪里? |
get_unused_code | 哪些代码从未被调用,可以安全删除? |
get_test_coverage | 哪些模块/功能缺少测试覆盖率? |
get_regression_risk | 这种生产变化的风险有多大? |
管理(免费)
| 工具 | 它的答案 |
|---|---|
request_upload | 在不安装GitHub应用程序的情况下映射本地仓库 |
setup_environment | 安装推荐的开发插件 |
pharaoh_account | 检查计划,切换PR保护,触发刷新 |
pharaoh_feedback | 报告误报或工具问题 |
pharaoh_admin | 组织级管理 |
检查模式
使用 --inspect 将完整的工具清单转储为JSON(对MCP注册表验证和调试有用):
npx @pharaoh-so/mcp --inspect这将输出完整的工具列表及其模式,并立即退出,而无需连接到服务器。
CLI选项
Usage: pharaoh-mcp [options]
Options:
--server Pharaoh server URL (default: https://mcp.pharaoh.so)
--logout Clear stored credentials and exit
--inspect Output tool manifest as JSON and exit
--help Show help
--version Show version number配置
凭证
凭据存储在 ~/.pharaoh/credentials.json 和 0600 权限(仅限所有者读/写)。该文件包含:
- 访问令牌 --用于验证MCP请求
- 刷新令牌 --用于在新访问令牌过期时获取新访问令牌
- 到期时间戳 --令牌在过期前会自动刷新
要清除凭据,请执行以下操作:
npx @pharaoh-so/mcp --logout自定义服务器
对于自托管的法老实例或开发,请手动注册:
claude mcp add --scope user pharaoh -- npx @pharaoh-so/mcp --server https://your-pharaoh-instance.com环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
PHARAOH_SERVER_URL | https://mcp.pharaoh.so | 法老服务器URL(替代 --server) |
需求
- Node.js >= 18
- 克劳德代码 或任何与MCP兼容的AI客户端
- A. 法老账户 --注册地址: 法老
安全
- 凭据以限制性文件权限存储(
0600--所有者只读/写) - 身份验证使用 RFC 8628 设备授权流——包中没有嵌入任何秘密
- 与法老服务器的所有通信都使用HTTPS/TLS
- 源代码从未被传输过——法老将结构元数据(函数名、文件路径、依赖关系)映射到知识图中。你的代码永远不会离开你的机器。
- 令牌在7天后过期并自动刷新
- 仅使用受信任的服务器URL——代理将您的身份验证令牌发送到配置的服务器
报告漏洞
如果您发现安全漏洞,请通过电子邮件负责任地报告 security@pharaoh.so。不要公开问题。
故障排除
“连接被拒绝”或“ECONNREFUSED”
法老服务器可能暂时不可用。检查 status.pharaoh.so 或在几分钟后重试。
“令牌已过期”或“401未经授权”
通过直接运行代理重新进行身份验证:
npx @pharaoh-so/mcp或者清除凭据并重新开始:
npx @pharaoh-so/mcp --logout
npx @pharaoh-so/mcp“法老”没有出现 claude mcp list
确保您使用正确的命令添加了它:
npx @pharaoh-so/mcp注意 -- 分离器之间 pharaoh 和 npx.
设备代码不起作用
- 确保您在具有浏览器访问权限的设备上打开URL
- 设备代码在15分钟后过期--通过重新运行命令请求新的代码
- 授权时检查您是否已登录GitHub
启动缓慢
安装后的第一次运行可能需要一段时间,因为npm会下载包。后续运行将使用缓存版本。要全局预安装,请执行以下操作:
npm install -g @pharaoh-so/mcp
claude mcp add --scope user pharaoh -- pharaoh-mcp法老是如何工作的
- 函数 --名称、签名、复杂性得分、导出可见性
- 文件 --路径、模块成员、语言分类
- 模块 --从目录结构中检测到逻辑分组
- 依赖项 --导入/导出关系、调用链、模块连接
- 视觉规格 --与实施相关的PRD/规范文件
不存储源代码,只存储结构元数据。当AI代理查询法老时,它会以最小的令牌获取架构事实,而不是原始代码转储。这意味着你的AI助手可以理解你的整个代码库架构,而无需逐一读取文件。
支持的语言
- Types/JavaScript --完全支持(函数、类、导入、导出、JSX)
- python --完全支持(函数、类、导入、装饰器)
- 通过树保姆语法支持计划更多语言
贡献
欢迎捐款。请先打开一个问题,讨论您想更改的内容。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
麻省理工学院 --法老股份有限公司。
