list_surfaces
List hosted surfaces
Every API surface served on this host, with the MCP URL to reconnect to. Use it when you landed on the host root and need a specific API. Free, instant, and it lists only what the public index lists.
无需输入参数。

tech.geckovision由 geckovision.tech 发布官方发布者v0.2.0更新于 Oct 27, 2026
Point Gecko at an OpenAPI spec; get first-call-correct, auth-hidden agent tools.
Surf(Gecko)把 OpenAPI 规范、文档站点或 Solana 程序转成助手可调用的 MCP 工具,隐藏鉴权,并在花钱的调用前先做模拟。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/tech.geckovision%2Fsurf/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。把它添加到你客户端的 mcpServers 配置中。
{
"mcpServers": {
"surf": {
"type": "http",
"url": "https://mcp.geckovision.tech/mcp"
}
}
}[Gecko — the web wasn't built for agents. Yet.]
Check the call before it counts. Gecko is open-source and runs on your machine:
one command maps any API — messy, paywalled, or on-chain — into a call graph your agent
checks instead of guesses from, and anything that spends is simulated to a
receipt first.
No wallet, no payment rail, no key held — 64 mainnet transactions, 49 with a cost
predicted before signing, 47 of those exact to the unit (re-read from the chain,
2026-09-19).
[Python 3.11+] [MCP] [tests] [Apache 2.0] [x402]
Quickstart · Docs · Architecture · FAQ · Security
Built for the calls your agent must not get wrong. Two axes, either one qualifies: a messy surface (paywalled, drifting, undocumented, on-chain) or a high-stakes action (your agent runs unattended with credentials or money).
Gecko is an open-source knowledge graph built specifically for AI agents that call APIs. Point it at an OpenAPI spec, a docs site, or a Solana program's IDL and source, and it reads that surface into a graph your agent traverses — every fact tagged with where it came from, and anything it cannot establish flagged rather than guessed.
A specification tells your agent what a call looks like. It cannot tell it whether the call will work. That gap is in every spec, including a perfect one, and it is where agents fail expensively: not on the call that errors, but on the call that is accepted and wrong. Gecko closes it by handing back one specific call — and, for anything that spends, by simulating that call against real state first and returning a receipt.
It is not the agent and not an orchestrator. It holds no key, signs nothing, broadcasts nothing, and stores no response payload — it stores surfaces and correctness metadata, never your data.
No install:
Or install once:
Plug into your agent:
Going live is a separate, deliberate step:
Then your agent asks questions, not endpoints:
An OpenAPI says what exists. An IDL says what a program looks like. Neither is enough to act:
Gecko replaces the guess with a graph:
extracted from the surface, recovered from
source, or honestly flagged as unknown. Never fabricated.Most agent-tool layers are thin wrappers. Gecko is a memory substrate, and three of its design choices are deliberately different from the textbook:
And the depth is measured, not asserted:
overlays/) — the value of
comprehension, quantified per program.Explore the diagrams: architecture on docs.geckovision.tech (all three views, rendered) · the map in this repo
Live, on a mainnet fork, $0:
The facts behind those passes are not on any surface: a 4th PDA seed the SDK added in 2024, an account the IDL only mentions in prose, a fee field resolved by a refuting simulation. That is the graph your agent traverses.
TxLINE (paywalled sports odds) — without vs with Gecko
[70-second demo — 18 first-call-correct tools, 8/8 poisoned attacks blocked, 32/32 correctness checks] · MP4
Cross-API correlation — three APIs, one question
Pegana × Birdeye × Jupiter joined on a declared entity; the agent plans across
surfaces first-try. Try it: gecko graph svg <spec> renders any surface's call graph.
Solana programs — buy a coffee on mainnet
Everything above is a $0 fork. This one is not: real mainnet, real USDC, a real espresso.
let_me_buy is a storefront program on Solana. A merchant
stands up a store and lists products priced in USDC; a buyer scans a QR code and pays.
One account per store — PDA(["receipts", store_name]) — holds the menu, the receipts,
the running count and the merchant's authority.
MP4 version — one unedited take. The receipt says 24,956 CU
before anything is signed; the chain charges 24,956 CU
(4X8dCyZU…,
slot 439046190). The key never leaves its enclave.
Two facts the IDL does not carry, and both break the call:
mark_as_delivered declares its receipts seed as store_name, but that
instruction's own arguments are _store_name and receipt_id. The seed names an
argument that does not exist, so a deriver resolving seeds by argument name gets
nothing for the one seed that selects the store. Gecko binds by seed value.make_purchase the store's authority is writable but not a signer. The buyer
pays from ATA(signer, mint); the store is credited at ATA(authority, mint) — same
mint, different owner. Derive both from one owner and you have built a purchase that
pays the buyer back. Gecko refuses that plan before a builder is ever asked.The prediction tracks state, not a memorised constant. Three purchases at this one storefront were charged 23,789 → 24,183 → 24,956 CU; the last two are the same product. Each sale appends a receipt to the store's account, so the program does more work — and the receipt predicted the new number each time it was asked.
Gecko recovers what the surface drops, Orquestra builds the instruction, and the receipt says whether it lands — before any signature.
Control plane, never data plane. Gecko stores surfaces + correctness metadata — never response payloads, user data, or secrets.
Interactive diagrams · llms.txt · Receipt semantics
The engine is the product; the skills are how an agent learns to drive it. Six of them ship as one plugin — markdown the agent reads, no executable logic of its own.
The two defense skills are one disease with two deliveries: a poisoned spec aims at
what your agent calls, a poisoned artifact aims at what your agent does. Full
map and status in skills/README.md.
gecko auth set <provider> — deliberate, never implicit.The engine in this repo also runs at mcp.geckovision.tech — comprehended surfaces served over Streamable-HTTP MCP, keys injected server-side. Developers never pay; providers pay a flat price per API. Gecko takes no cut, holds no funds, signs nothing. → docs.geckovision.tech
Is this a tool-generation wrapper? No. Tool generation is the table stakes. The product is the verified graph (provenance on every edge), the receipt (simulate before money moves), and the drift series (know when a provider breaks you).
Who is it for? Two axes — either one qualifies: a messy surface (paywalled, drifting, undocumented, on-chain), or a high-stakes action (your agent runs unattended with credentials or money). Clean API + a human reviewing the diff? You may not need us — and that's fine.
Does Gecko sign or hold funds? Never. Gecko never signs, never broadcasts, never builds the production transaction — sim-only unsigned assembly is the documented carve-out, AST-enforced at the sign/send boundary. Building belongs to builders (e.g. Orquestra), signing to signers (wallet / TEE / you).
What does Gecko store? Surfaces and correctness metadata. Never payloads, balances, pubkeys-in-outcomes, or secrets. The corpus is categorical, closed-vocabulary, audited.
Vector database? No — retrieval is lexical and deterministic (token-overlap; BM25 and semantic tiers both sit behind evidence gates that flip only on measured recall failure — including one measured negative result on embeddings).
Is it free? The engine is Apache-2.0, complete, self-hostable. The hosted layer is what an API provider buys. Developers never pay.
PRs welcome. Run the toolchain above before pushing. Security findings → SECURITY.md.
Apache-2.0 — see LICENSE.
来源:README.md,提交 18dd707
List hosted surfaces
Every API surface served on this host, with the MCP URL to reconnect to. Use it when you landed on the host root and need a specific API. Free, instant, and it lists only what the public index lists.
无需输入参数。
已满足适用检查项的 100%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
npx @geckovision/gecko doctor # 1. check your environmentnpx @geckovision/gecko add <spec-or-docs> # 2. comprehend it — $0, no live callnpx @geckovision/gecko report <spec> # 3. get the scorecard — grade + findingsnpx @geckovision/gecko serve <spec> # 4. your agent uses it over MCPnpm install -g @geckovision/gecko # prebuilt binary — no Python neededuv tool install "gecko-surf[serve]" # or pip, if you want the Python package
gecko add <spec-or-docs># Claude Codeclaude mcp add my-api -- npx -y @geckovision/gecko serve <spec> --stdio
# Cursor / VS Code / any MCP client — mcp.json{ "mcpServers": { "my-api": { "command": "npx", "args": ["-y", "@geckovision/gecko", "serve", "<spec>", "--stdio"] } } }gecko auth set <provider> # key goes to your OS keychain — never mcp.jsonWhich fixtures kick off in the next hour, and what are the current odds?What is the peg state of USDC right now?Plan a swap of SOL for USDC on Meteora, bin_step 4.uvx --from "gecko-surf[serve,solana]" gecko-orquestra --program let_me_buy --stdio/plugin marketplace add GeckoVision/gecko-surf/plugin install gecko-surf@geckovisionuv run ruff format && uv run ruff check --fixuv run mypy geckouv run pytest # 5,043 passinguv run python -m gecko.demo # $0 recorded E2E