GitLumen MCP
概览
作者提供的说明(英文原文)
Screens public GitHub repos and PRs to generate risk maps, findings, and merge-readiness signals.
PopNx MCP 的三大支柱
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
- 用户评价i暂无评价评价功能将在后续阶段与账户功能一起开放
- 我们的基础检查i1 项中通过 1 项依据公开信息检查;尚未扫描代码
- 使用情况i非常新★ –
它能帮你做什么
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
- 连接方式: 在云端运行
- 传输方式: Streamable HTTP
- 分类: 旅行、地图与天气
- 你需要填写:Authorization
安装
选择你使用的 AI 应用,然后复制设置。
安装之前
- 基础检查:1 项中通过 1 项
- 在作者的服务器上运行:你向它提出的内容会经过他们的服务器。
- 需要你自己填写:
Authorization
标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
- 在云端运行无需安装任何东西,通过互联网连接
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
在终端中运行这条命令
claude mcp add --transport http gitlumen https://mcp-github-screen.gitlumen.com/mcp --header 'Authorization: your-value'运行前请先填写空着的值。
或者自己复制设置
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"gitlumen": {
"url": "https://mcp-github-screen.gitlumen.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
或者自己复制设置
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"gitlumen": {
"type": "http",
"url": "https://mcp-github-screen.gitlumen.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
需要你填写的值
Authorization机密 必填 HTTP headerBearer token for GitLumen MCP access
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它能做什么
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
基础检查i
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日
- ✓ 通过
作者与仓库一致
注册名称已通过 GitHub 账户 gitlumen-team 验证,该账户拥有此仓库
- … 尚未检查
仍在维护
我们还没有从 GitHub 读取这个仓库
- … 尚未检查
有许可证
我们还没有从 GitHub 读取这个仓库
- … 尚未检查
端点有响应
尚未检查;我们会轮流检查各个端点
- … 尚未检查
使用 OAuth 登录
尚未检查;我们会轮流检查各个端点
- … 尚未检查
工具描述中没有隐藏指令
尚未检查;我们会在检查端点时读取工具列表
与“旅行、地图与天气”中的其他服务器比较i
- 星标数多于此分类中其他 1740 个服务器的 0%
- 发布到注册中心的时间比此分类中其他 1740 个服务器的 11% 更新
- 基础检查结果等于或优于此分类中其他 1740 个服务器的 100%
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
常见问题
GitLumen MCP 安全吗?
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
它需要哪些密钥或代码?
你需要填写:Authorization
它在我的电脑上运行还是在云端?
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
它还在维护吗?
GitHub 仓库最后更新于–,最新版本(1.0.0)于5个月前进入注册中心。
哪些应用可以使用它?
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
有什么可以替代它?
同一分类中有:VeryChic Hotel Deals, Facade UI, InsightBaZi
替代选择
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Facade UI
Interactive floor plans and shadcn blocks for real estate and local business websites.
InsightBaZi
BaZi (Four Pillars) calculation from birth date, time, and location via public remote MCP.
作者的 README
打开 README
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
GitLumen MCP Server - Version 1.0.0
GitLumen MCP Server is a Node.js project that exposes a GitLumen-style review intelligence layer through the Model Context Protocol (MCP), so AI agents can call it as tools.
This project focuses on:
AI Agent / MCP Client
-> GitLumen MCP Server -> GitHub public repo / PR reader -> local risk analyzer -> GitLumen-style report
This project intentionally does not execute onchain transactions yet and does not use Base MCP send_calls. A Base MCP custom plugin can be attached in Path 2 after this intelligence server is ready.
Features
- MCP stdio server that can be used by Claude Desktop, Cursor, Claude Code, or other MCP clients.
- Screens public GitHub repository URLs.
- Screens GitHub Pull Request URLs
/pull/. - No GitHub token required for small/medium public repositories.
- Optional
GITHUB_TOKENfor higher rate limits and private repositories (depending on token scope). - Local analyzer: source code is not sent to external LLMs.
- Produces:
- risk score
- category risk map
- findings
- review chapters
- decision questions
- merge-readiness signal
- recommended next actions
- Stores reports locally in
.gitlumen-mcp/reports/*.json. - Includes a CLI for local testing without an MCP client.
Project Structure
gitlumen-mcp-server/
|- package.json |- README.md |- .env.example |- examples/ | |- claude_desktop_config.example.json | \- cursor_mcp.example.json |- docs/ | |- ARCHITECTURE.md | \- TOOLS.md \- src/ |- index.js # MCP stdio server entrypoint |- cli.js # CLI local test |- doctor.js # environment checker |- config.js |- types.js |- services/ | |- github.js # GitHub API + raw file loader | |- analyzer.js # local heuristic risk engine | |- gitlumen.js # service orchestrator | \- reportStore.js # local report persistence \- utils/ |- githubUrl.js |- ids.js \- text.js
Requirements
- Node.js 20+
- npm
- Internet access to fetch metadata/files from GitHub
Check Node version:
node -v
If your version is Node 18 or below, upgrade to Node 20+.
1. Install Dependencies
Open the project directory:
cd gitlumen-mcp-server
Install dependencies:
npm install
2. Optional Env Setup
Copy env example:
cp .env.example .env
Fill optional values:
GITHUB_TOKEN=ghp_xxx_or_fine_grained_token
GITLUMEN_MCP_DATA_DIR=.gitlumen-mcp GITLUMEN_MAX_FILE_BYTES=120000
For public repositories, GITHUB_TOKEN can be empty. A token is still recommended to avoid low GitHub rate limits.
3. Run Doctor
npm run doctor
Expected output:
GitLumen MCP Doctor
✅ Node version: v20.x.x ✅ GITHUB_TOKEN configured: no (public unauthenticated mode) ✅ Data directory: /path/to/gitlumen-mcp-server/.gitlumen-mcp ✅ Reports directory writable: /path/to/gitlumen-mcp-server/.gitlumen-mcp/reports
4. Test Screening via CLI
Offline test without GitHub network
npm run sample
This command generates a report from a local fixture so you can verify analyzer and report-store behavior without GitHub connectivity.
Screen a public repository
npm run screen -- https://github.com/modelcontextprotocol/typescript-sdk quick
Screen a public PR
npm run screen -- https://github.com/modelcontextprotocol/typescript-sdk/pull/1 quick
Available scopes
quick = fastest, fewer files
standard = balanced default
Examples:
npm run screen -- https://github.com/owner/repo standard
npm run screen -- https://github.com/owner/repo quick main
After completion, CLI prints a markdown report and saves JSON to:
.gitlumen-mcp/reports/<reportId>.json
5. Read Previous Reports
npm run list -- 10
Take a reportId, then:
npm run report -- glr_xxxxxxxxxxxxxxxx markdown
Or full JSON:
npm run report -- glr_xxxxxxxxxxxxxxxx json
6. Run as MCP Server
The MCP server uses stdio, so it is normally started by an MCP client instead of being run manually.
node /ABSOLUTE/PATH/TO/gitlumen-mcp-server/src/index.js
To debug MCP protocol, use MCP Inspector:
npm run inspect
Then open the Inspector URL printed in terminal.
Optional: Run as Remote MCP HTTP Server (for VPS/PM2)
This project also includes a Streamable HTTP transport endpoint at /mcp.
Run locally:
npm run start:http
Environment variables:
PORT=3333
HOST=0.0.0.0 MCP_AUTH_TOKEN=replace_with_a_long_random_token
MCP_AUTH_TOKENis optional but strongly recommended for production.- When set, clients must send
Authorization: Bearer.
Health check:
curl -s http://localhost:3333/health
Production deployment guide:
- PM2 example config: examples/ecosystem.pm2.example.cjs
Client configuration templates (Copilot / VS Code / Codex):
- docs/CLIENT_CONFIG_TEMPLATES.md
- VS Code remote endpoint template: examples/vscode_mcp.gitlumen.remote.example.json (copy into
.vscode/mcp.json, which is gitignored)
7. Install in Claude Desktop
Open Claude Desktop config.
Common location:
macOS
~/Library/Application Support/Claude/claude_desktop_config.json
Windows
%APPDATA%\Claude\claude_desktop_config.json
Add:
{
"mcpServers": { "gitlumen": { "command": "node", "args": ["/ABSOLUTE/PATH/TO/gitlumen-mcp-server/src/index.js"], "env": { "GITHUB_TOKEN": "optional_github_token_here", "GITLUMEN_MCP_DATA_DIR": "/ABSOLUTE/PATH/TO/gitlumen-mcp-server/.gitlumen-mcp" } } } }
Replace /ABSOLUTE/PATH/TO/... with your real path.
Restart Claude Desktop.
Example prompt:
Use GitLumen to screen https://github.com/modelcontextprotocol/typescript-sdk with quick scope. Return the risk map and top findings.
8. Install in Cursor
Create or edit Cursor MCP config (format may vary by Cursor version):
{
"mcpServers": { "gitlumen": { "command": "node", "args": ["/ABSOLUTE/PATH/TO/gitlumen-mcp-server/src/index.js"], "env": { "GITHUB_TOKEN": "optional_github_token_here" } } } }
Restart Cursor, then ask the agent to use GitLumen tools.
Available MCP Tools
screen_repository
Screen a repository or PR.
Input:
{
"repoUrl": "https://github.com/owner/repo", "scope": "standard", "output": "compact" }
For PR:
{
"repoUrl": "https://github.com/owner/repo/pull/123", "scope": "quick", "output": "markdown" }
Output modes:
compact = concise JSON for agent replies
markdown = full markdown report json = full JSON report
get_review_report
Fetch a previous report by reportId.
{
"reportId": "glr_xxxxxxxxxxxxxxxx", "output": "markdown" }
list_review_reports
List local reports.
{
"limit": 20 }
get_repository_structure
Get repository/PR structure without generating a full risk report.
{
"repoUrl": "https://github.com/owner/repo", "limit": 300 }
explain_gitlumen_mcp_flow
Explain Path 1 flow and how Path 2 Base MCP can be attached later.
How the Analyzer Works
The local analyzer reads:
- repository metadata
- default branch
- recursive tree
- selected source/config files
- PR metadata and changed files (for PR URLs)
Then it generates signals:
- language/framework detection
- dependency surface
- lockfile presence
- lifecycle script risk
- test presence
- CI presence
- Dockerfile/container risk
- possible hardcoded secret patterns
- dynamic code execution
- command execution pattern
- SQL interpolation pattern
- GitHub Actions supply-chain pattern
- merge-readiness estimate
Risk categories:
security
dependencies tests architecture operations maintainability
Severity:
critical
high medium low info
Example Compact Report Output
{
"reportId": "glr_abc123...", "risk": { "score": 42, "level": "medium", "mergeReadiness": "review_required", "categoryScores": { "security": 24, "dependencies": 13, "tests": 24, "architecture": 0, "operations": 13, "maintainability": 5 } }, "summary": "The repository/PR has medium risk signals...", "findings": [], "decisionQuestions": [], "recommendations": [] }
Path 1 vs Path 2
Path 1 (this project)
Repo/PR intelligence
Risk map Review chapters Decision questions Report retrieval
Path 2 (future)
Base MCP get_wallets
GitLumen quote endpoint GitLumen prepare endpoint Base MCP send_calls Review credit purchase Reward claim Reviewer reputation
This project is intentionally standalone for Path 1 first. Later, Path 2 can read reportId and connect it with onchain payment/reward/reputation flows.
Troubleshooting
Unable to reach GitHub API or fetch failed
Check internet connection, DNS, proxy/VPN, or retry. For offline verification:
npm run sample
GitHub API 403 rate limit exceeded
Add GITHUB_TOKEN in .env or MCP client config.
Only github.com repositories are supported
This prototype does not support GitLab/Bitbucket yet. Add a new adapter in src/services/github.js or create a separate service.
MCP client cannot see tools
Check:
argspath is absolute.npm installhas been run.- Node 20+ is installed.
- MCP client was restarted.
- Verify with
npm run inspect.
Report is not saved
Run:
npm run doctor
Ensure .gitlumen-mcp/reports is writable.
Important Files for Future Changes
Add a new detector
Edit:
src/services/analyzer.js
Change repository fetching behavior
Edit:
src/services/github.js
Replace local analyzer with hosted GitLumen API
Edit:
src/services/gitlumen.js
Potential production direction:
screen_repository MCP tool
-> GitLumen hosted API /v1/screenings -> GitLumen Review Intelligence Engine -> reportId -> get_review_report MCP tool
Security Notes
- Do not commit
.env. - Do not hardcode GitHub tokens in publicly shared config.
- For private repositories, use least-privilege fine-grained GitHub tokens.
- Local reports may contain paths, findings, and snippet metadata. Store them securely for private repositories.
License
MIT