Synapse — GEO Growth Layer
The GEO check every vibe coder runs before they launch. MCP server that lints, auto-fixes, and tracks how AI agents discover any product. 6 tools — geo_check, geo_fix, geo_track_init, geo_prompts, geo_status, geo_corpus_query.
README
Synapse — GEO Growth Layer
The GEO check every vibe coder runs before they launch.
npx synapse check
Synapse is a CLI + MCP server + linter that makes a new product discoverable
and recommendable by AI coding agents (Cursor, Claude Code, Windsurf, v0,
Bolt, Lovable). Run synapse check against a project path or URL and get a
0–100 Growth Score plus a list of failing rules and one-command auto-fixes.
Packages
| Package | Description |
|---|---|
@synapse/geo-lint |
24-rule GEO linter. Programmatic API: lint(target) → LintReport. |
@synapse/cli |
CLI with init, check, fix, deploy, status. Installs as synapse. |
synapse |
Thin meta-wrapper for the npx synapse UX. |
@synapse/mcp-server |
MCP server exposing 6 tools, 3 resources, 3 prompts. Stdio + streamable HTTP. |
Quick start
# In a fresh project:
npx @synapse/cli init # scaffolds synapse.config.json + tracker stub
npx @synapse/cli check # 24-rule lint, prints scored report
npx @synapse/cli fix # apply auto-fixes (llms.txt, robots.txt, agent-answer)
# With an account:
export SYNAPSE_API_KEY=…
npx @synapse/cli deploy # register the site, get a /s/<slug> dashboard
npx @synapse/cli status # live agent-mention stats
MCP install
Synapse runs as an MCP server so any agent can call geo_check, geo_fix,
geo_track_init, geo_prompts, geo_status, and geo_corpus_query
directly during a build session.
Cursor — .cursor/mcp.json
{
"mcpServers": {
"synapse-geo": {
"command": "npx",
"args": ["-y", "@synapse/mcp-server"],
"env": { "SYNAPSE_API_KEY": "" }
}
}
}
Claude Code
claude mcp add synapse-geo -- npx -y @synapse/mcp-server
Windsurf — ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"synapse-geo": { "command": "npx", "args": ["-y", "@synapse/mcp-server"] }
}
}
Cline — VS Code settings
Add to cline.mcpServers:
"synapse-geo": { "command": "npx", "args": ["-y", "@synapse/mcp-server"] }
Continue — config.json
{
"mcpServers": [
{ "name": "synapse-geo", "command": "npx", "args": ["-y", "@synapse/mcp-server"] }
]
}
Zed — ~/.config/zed/settings.json
{
"context_servers": {
"synapse-geo": {
"command": { "path": "npx", "args": ["-y", "@synapse/mcp-server"] }
}
}
}
Monorepo development
pnpm install
pnpm build # builds all packages
pnpm test # runs vitest in packages/geo-lint
node packages/cli/dist/index.js check https://example.com
node packages/mcp-server/dist/index.js # stdio MCP server
PORT=8787 node packages/mcp-server/dist/http.js # streamable HTTP
Authentication model
| Surface | Read-only tools | Write / account tools |
|---|---|---|
| CLI | init, check, fix work with no account |
deploy, status need SYNAPSE_API_KEY |
| MCP | geo_check, geo_prompts, geo_status, geo_corpus_query work with no auth |
geo_fix, geo_track_init require SYNAPSE_API_KEY |
Web app + backend (apps/web)
Lives in this same repo. Next.js 14 (App Router) + Supabase. Free during the Founding 1000 — no Stripe, no paywalls.
Pages: /, /install, /guide, /methodology, /leaderboard, /discover,
/corpus, /s/[slug] (with dynamic OG + default badge SVG).
Public assets: /llms.txt, /llms-full.txt, /sitemap.xml, /robots.txt,
/.well-known/agent-answer.json, /discover.json, /s.js (tracker beacon).
API routes against Supabase:
| Route | Purpose |
|---|---|
POST /api/sites |
Register a new site (used by synapse deploy). |
POST /api/events |
Tracker beacon endpoint, CORS-enabled. |
GET /api/sites/[slug]/status |
Live dashboard data. |
GET /api/corpus |
Public corpus snapshot. |
GET/POST /api/recommend?intent=… |
Agent-facing recommendation endpoint. |
POST /api/cli-telemetry |
Anonymous CLI usage events. |
Dogfood result: Synapse scores 98/100 (grade A) against its own linter.
Deploy
- Supabase: create a project, then run
apps/web/supabase/migrations/0001_init.sql(paste into the SQL editor, orpsql $SUPABASE_DB_URL -f …). RLS is configured for public reads of visible sites; all writes go through the service role from the API routes. - Env: copy
apps/web/.env.exampleto.env.localand fill inNEXT_PUBLIC_SUPABASE_URL,NEXT_PUBLIC_SUPABASE_ANON_KEY,SUPABASE_SERVICE_ROLE_KEY,NEXT_PUBLIC_SITE_URL. - Vercel: link
apps/webto a Vercel project and ship.vercel link --cwd apps/web vercel env add NEXT_PUBLIC_SUPABASE_URL vercel env add NEXT_PUBLIC_SUPABASE_ANON_KEY vercel env add SUPABASE_SERVICE_ROLE_KEY vercel env add NEXT_PUBLIC_SITE_URL vercel --prod --cwd apps/web --yes
Each surface fails closed with a clear error if Supabase isn't configured —
the homepage and /install still render statically without it.
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。