OpenLookup

tech.thecompoundv0.5.1更新于 Oct 2, 2026

OpenLookup: eleven keyless lookups. Model pricing, dep health, stack cost, registries.

概览

AI 生成的概览

为助手提供十一个无需密钥的只读查询,涵盖当前 AI 模型定价、依赖维护状况、服务价格、技术栈成本与开发者目录。

功能
OpenLookup 提供十一个基于实时公开数据的只读工具。它们可查询当前 AI 模型定价以及主流编码工具实际路由到哪些模型、某个开发工具是否仍在发布、认证、数据库、支付、邮件和托管服务的公开价格与免费额度,以及按用户数估算的逐项月度技术栈账单。目录类工具可搜索已发布的 Claude Code 技能与插件、公共仓库中真实的 agent 配置文件、兼容 shadcn 的组件注册表、经安装评级的起步套件,以及 AI 移动应用构建器能否通过 App Store 审核。另有两个合规查询:按美国地方政府域名查询市政网站无障碍指数,以及按 EIN 查询非营利组织的免税资格状态。
适用场景
当助手需要回答因训练截止日期而不可靠的问题时使用:某模型今天多少钱、某个库是否仍在维护、某项服务当前的免费额度是多少,或某个技能、组件是否已经存在。也适合在推荐依赖或估算技术栈账单之前使用,以及快速核查公开记录中的无障碍评级或非营利组织状态。
运行要求
以 stdio 本地进程方式运行,需要 Node.js 和 npm。可用 npm install -g openlookup 全局安装,或用 npx -y openlookup 免安装运行。无需 API 密钥、注册、账号、环境变量或请求头。工具会读取实时公开接口,因此需要网络访问。另提供可选的本地端口 streamable HTTP 模式。仅支持桌面端。
安装前请注意
所有工具都是对公开数据的只读查询,不会写入、发送或删除任何内容,也不要求任何凭据。结果是带有采集或核验日期的第三方数据,应视为有时效的快照,而非实时事实。合规类工具会同时返回结论和回执字段,说明查询了哪些名单以及覆盖范围不包括什么;clear 或及格结果仅覆盖所列来源。已弃用的 npm 包 compound-mcp 指向本包,安装时请确认使用 openlookup。

安装

在 SourceWeft 中

  1. 打开 控制台中的 OpenLookup,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

OpenLookup

MCP server from Compound Labs. Eleven read-only lookup tools backed by live public data — no API key, no signup, nothing to sign up for.

mcp-name: tech.thecompound/openlookup

OpenLookup was published on npm as compound-mcp until 2026-10-02. That package is deprecated and points here. Install openlookup instead.

Most of these answer questions that a model cannot answer correctly from a training cutoff, because the underlying fact changed after it: what a model costs today, whether a library is still maintained, whether someone has already published the skill you are about to write.

Tools

Things that go stale

ToolAnswers
compare_ai_models(board?, limit?)Current AI model pricing and which models the major coding tools actually route to, sampled nightly. Boards by budget band (budget/free … budget/premium) or by tool (tool/claude-code, tool/codex-cli, tool/cline, tool/aider, …). Ranked on adoption, not capability — each row carries the rationale that says so.
check_project_maintenance(q?, limit?)Whether a developer tool is still shipping: last release, last commit, whether it reads as dead. Run it before recommending a dependency.
lookup_service_pricing(category?, service?)Published pricing and free-tier limits for auth, database, payments, email and hosting services — each plan carrying the date its published price was last verified against the vendor's own page.
estimate_stack_cost(stack, users?)An itemised monthly bill for a named stack at a chosen user count, showing which lines are included in the base fee and which are metered.

Directories

ToolAnswers
search_agent_skills(q, kind?, limit?)Published Claude Code skills, plugins and marketplaces, ranked by installs. Returns the install command, so the answer is directly actionable.
search_agent_configs(stack?, format?, tag?, min_quality?, limit?)Real AGENTS.md, CLAUDE.md, Cursor, Copilot, Windsurf, GEMINI.md and Cline files from public repositories, scored for quality — how well-maintained projects on a given stack actually write theirs.
search_component_registries(q, kind?, access?, limit?)shadcn-compatible components, blocks and hooks across dozens of public registries, with their dependencies so you can judge the cost of pulling one in.
grade_starter_kit(q?, limit?)Starter kits and boilerplates, graded by installing them: what is actually wired up versus what only appears in the README.
compare_app_builders(builder?, verdict?, limit?)Whether the app an AI mobile-app builder hands you clears Apple App Store review — what it outputs, whether you can export the source, who submits the binary, and which guidelines are in play. Every verdict carries the source that settles it and the date it was read; an unsettled question comes back unknown rather than guessed.

Compliance

lookup_ada_report(domain)

Looks up a US local-government domain in the CivicBinder Municipal Web Accessibility Index — axe-core scans of local-government .gov websites, graded A–F against WCAG 2.1 AA ahead of the ADA Title II deadlines (April 26, 2027 for communities of 50,000+; April 26, 2028 for smaller communities and special districts).

Returns the grade, violation counts (total / serious / critical), the top failing rules, the entity's deadline, and the public report page (https://civicbinder.org/ada/<domain>). The full index is also published as an open dataset at civicbinder.org/ada/dataset.json.

lookup_nonprofit_status(ein)

Checks a nonprofit's EIN against the IRS auto-revocation list and the California Registry of Charities delinquency/suspension lists, via GoodStanding. Returns revocation and reinstatement dates, whether the streamlined 15-month reinstatement window is still open, and whether AB 488 requires charitable fundraising platforms to block the organization's donation pages. A clear: true result means the EIN is on none of the tracked lists.

Install

sh
npm install -g openlookup

Or run without installing: npx -y openlookup

Run

sh
openlookup                # stdio (for MCP clients)openlookup --http 8974    # streamable HTTP on http://localhost:8974/mcp

Claude Code

sh
claude mcp add openlookup -- npx -y openlookup

Claude Desktop

Add to claude_desktop_config.json (Settings → Developer → Edit Config):

json
{  "mcpServers": {    "openlookup": {      "command": "npx",      "args": ["-y", "openlookup"]    }  }}

Examples

Which model should I use for a coding agent on a budget?

compare_ai_models({ board: "budget/value", limit: 3 }) →

json
{  "board": "budget/value",  "captured_on": "2026-08-05",  "models": [    {      "rank": 1,      "model": "z-ai/glm-5.2",      "blended_usd_per_mtok": 1.175,      "price_band": "$1 to $5 / M",      "rationale": "3.05T tokens through 6 tracked coding tools · ranked on usage, which measures adoption rather than capability."    }  ]}

Is the city website at 36thdistrictcourtmi.gov ADA compliant?

lookup_ada_report("36thdistrictcourtmi.gov") →

json
{  "found": true,  "domain": "36thdistrictcourtmi.gov",  "entity_name": "36th District Court",  "grade": "A",  "violations_total": 0,  "ada_title_ii_deadline": "2027-04-26",  "report_url": "https://civicbinder.org/ada/36thdistrictcourtmi.gov"}

Health

Three facts, recorded separately, because a single health endpoint that ANDs them together cannot say which one broke.

sh
npm run health          # the working tree, over stdionpm run health:public   # npx -y openlookup@latest, resolved fresh from npm
SignalWhat it answers
initializeThe process spawns and the MCP handshake completes.
tools_listThe server enumerates its tools. An error and an empty list are both failures.
reachableEach public endpoint the tools read answers, right now. Recorded per host.
tool_outcomeCalling a tool returns a usable payload. Separate from tools_list on purpose: a tool can be advertised and not work.

--target public is the deployment check, and it is deliberately outside CI. openlookup has no deployed HTTP endpoint, so the public path is npm: it spawns the published tarball through npx, with a throwaway cache and from a neutral directory, so what answers is what a stranger gets rather than this checkout. Build success and externally reachable protocol state are different facts, and this repo has already shipped a version where they disagreed.

Every signal starts failed and is only flipped by evidence from that run. A timeout, a dead socket and a signal that could not be attempted are all failures carrying a reason, never a pass. A finding exits 0 so a scheduled run cannot disarm itself mid outage; --strict exits non zero and is what ops/npm/publish.mjs runs after publishing.

Each run writes a dated receipt to ops/health/receipts/, and ops/health/probe.test.mjs breaks each signal on its own to prove the separation is real.

Scheduled every 6 hours as compound.compound-mcp.health.

Receipts on the compliance tools

lookup_ada_report and lookup_nonprofit_status return the verdict and the lookup as separate fields. clear and grade are the outcome. checked is the receipt: when the lookup ran, which lists or index were consulted, and what that coverage does not include, so an agent can explain what it verified without re-running it.

json
{  "ein": "475262842",  "clear": true,  "checked": {    "at": "2026-09-20T14:36:34.257Z",    "sources": [      "IRS Automatic Revocation of Exemption List",      "California Attorney General Registry of Charities and Fundraisers"    ],    "via": "https://goodstanding.thecompound.tech/api/lookup",    "scope": "Covers only the two lists named above, as GoodStanding retains them. A clear result means the EIN is absent from those lists. It is not a statement that the organization was never revoked, and no other state registry is consulted."  }}

License

MIT © Compound Labs

来源:README.md,提交 f7004bf

工具

0
工具元数据尚未被收录。

版本历史

1
  1. v0.5.1最新Oct 2, 2026