Singularity - MCP Discovery & Security Gateway

io.github.gaurav-kumar-sinha-060705由 GitHub 账号 gaurav-kumar-sinha-060705 发布v0.2.0更新于 Oct 24, 2026

Find, vet, and run MCP tools through a secure audited gateway with prompt-injection risk scoring

已验证Streamable HTTP可网页运行开发者工具安全与监控

概览

AI 生成的概览

一个远程 MCP 网关,让助手借助信任评分与提示注入风险评分来查找、审查和比较 MCP 工具。

可以做什么
  • 针对所描述的问题给出排序后的工具推荐,附带匹配度、信任度、排名分数与通俗的安全标记
  • 查看某个工具的完整信任报告:申请权限与实际所需权限、注入扫描结论、发布者状态
  • 将候选工具并排比较,生成信任对照表
  • 按返回数量与最高价格档位筛选推荐结果
适用场景
适合在挑选要接入哪些 MCP 服务器时使用,希望在连接前快速了解其安全性与可信度;也适合让助手针对某个需求列出候选工具。
运行要求
需要远程 streamable HTTP 端点;访问 MCP 路径必须通过 OAuth,访问令牌由授权流程提供。未声明任何环境变量或请求头。
安装前请注意
MCP 端点要求 OAuth,涉及授权流程与令牌处理。推荐结果与信任结论来自该服务自身的索引和静态扫描,应视为参考而非权威结论;README 说明扫描器仍处于预览阶段。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Singularity - MCP Discovery & Security Gateway,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.gaurav-kumar-sinha-060705%2Fsingularity/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "singularity-discovery-security-gateway": {
      "type": "http",
      "url": "https://singularity-osd2.onrender.com/mcp"
    }
  }
}

README

Singularity — MCP Discovery & Security Gateway

Perplexity for MCP. Discover the right tool for a problem, see its trust card (prompt-injection risk, permission overreach, publisher status), connect it in one click, and execute it through a secure, audited gateway — one product, one config.

See ROADMAP.md for the full plan. Blueprint: ../Singularity_Blueprint.md.

Quickstart (local)

powershell
pip install -r requirements.txtcopy .env.example .env          # optional, defaults are fine (SQLite)python scripts/seed_index.py    # builds index + embeddings (first run downloads ~35MB model)python -m uvicorn app.main:app --reload   # http://127.0.0.1:8000/docs

A fresh boot with an empty database auto-seeds itself — seed_index.py is only needed for manual re-seeding.

Use Singularity as an MCP server

Singularity is a native MCP server (streamable HTTP, stateless) at /mcp.

VS Code / Copilot Chat — .vscode/mcp.json:

json
{ "servers": { "singularity": { "type": "http", "url": "http://127.0.0.1:8000/mcp" } } }

Cursor — ~/.cursor/mcp.json:

json
{ "mcpServers": { "singularity": { "url": "http://127.0.0.1:8000/mcp" } } }

Claude Code CLI:

powershell
claude mcp add --transport http singularity http://127.0.0.1:8000/mcp

Then just ask your agent: "my team needs expense tracking" — it calls find_solutions and gets ranked options with trust cards and security flags.

One-click install (replace the URL after deploying): Install in VS Code

/mcp now requires OAuth (a popup at /authorize/<slug> supplies the access token). For a curl-able check use /health and /.well-known/oauth-authorization-server.

Tools

ToolWhat it does
find_solutions(problem, top_k?, max_pricing_tier?)Ranked, trust-scored recommendations with plain-language security flags
get_trust_report(slug)Full security card: permissions requested vs needed, injection-scan verdicts, publisher status
compare_tools(slugs[])Side-by-side trust table for shortlisted candidates

Every result carries fit_score, trust_score, rank_score, trust_flags, and a human-readable rationale. The seed index includes quickledger-pro, an intentionally poisoned fictional tool — ask about expenses and watch it get flagged (suspicious_description_imperative, hidden_unicode_characters, permission_overreach) and pushed down the ranking.

Deploy your own instance (Render + Supabase)

Full walkthrough in DEPLOY.md. Summary:

  1. Create a free Supabase project → copy the connection string → add +psycopg driver segment + ?sslmode=require
  2. Push this repo to GitHub → Render "New +" → "Blueprint" → it reads render.yaml
  3. Paste the Supabase URL into the SINGULARITY_DATABASE_URL env var when prompted
  4. First boot auto-creates tables and seeds the index; https://<app>.onrender.com/mcp is live

Publish to MCP registries

After deploying (public HTTPS required), list Singularity so others can find it:

  1. Official MCP Registry — edit placeholders in server.json (replace XXXX with your Render app name), then:
    powershell
    npx mcp-publisher@latest init      # scaffolds/validates server.jsonnpx mcp-publisher@latest login     # prove io.github.<you> ownership via GitHubnpx mcp-publisher@latest publish   # listed at https://registry.modelcontextprotocol.io within minutes
  2. Smithery — submit repo at https://smithery.ai/new (uses smithery.yaml)
  3. Glama — submit remote URL at https://glama.ai, then claim the listing
  4. GitHub topics — add mcp-server, mcp, ai-security topics to your repo; PulseMCP/MCP.so crawlers pick it up within 1–2 weeks

Tip: registries re-crawl weekly and strip verified badges from sleeping servers — Render's $7/mo Starter plan keeps Singularity always-on during listing/investor periods.

Tests

powershell
pytest -v

Layout

singularity/  main.py                     FastAPI app factory + lifespan (auto-seed, mounts MCP)  mcp_server.py               native MCP server: find_solutions / get_trust_report / compare_tools  config.py                   env-driven settings (SINGULARITY_* prefix)  database.py                 SQLAlchemy engine/session (SQLite dev, Postgres prod)  models.py                   Tool + AuditLog tables  schemas.py                  request/response contracts  middleware/    rate_limit.py             per-IP token-bucket limiter (X-Forwarded-For aware)  services/    discovery_engine.py       heuristic intent parsing    recommendation_index.py   in-memory vector search over seeded tools    ranking.py                fit/trust blend + rationale builder    scanner.py                static injection/overreach scan (Phase 2 preview)    seeder.py                 seed logic shared by CLI and boot-time auto-seed    embeddings.py             fastembed provider (bge-small-en-v1.5)  routers/    recommend.py              POST /recommend, GET /toolsdata/seed_tools.json          curated 21-tool index incl. demo attack sample (tier1/tier2/tier3)scripts/seed_index.py         manual seeding CLIscripts/smoke_execute.ps1     authenticated REST execute smoke testscripts/smoke_oauth.py        OAuth discovery + config smoke testDockerfile / render.yaml      one-command Render deploymentserver.json / smithery.yaml   registry publishing manifests (fill placeholders first)tests/                        pytest suite (API + scanner + MCP tools & endpoint)

来源:README.md,提交 4203499

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

1
  1. v0.2.0最新Sep 16, 2026

评分

已满足适用检查项的 75%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。