Stellar Raven
Stellar Raven is a remote MCP server on Cloudflare Workers. It gives agents two tools over one catalog of Stellar ecosystem sources: Lumenloop, Stellar Light/Scout, Stellar Docs, and selected ecosystem skills.
searchfinds service operations and skills.executeruns agent-written JavaScript in a Dynamic Worker isolate with no network access. Host-side adapters make every service call and hold every secret.
The server instructions also include a generated source-family map. Agents use it to plan which source family can answer a question.
Sources and operators
Selected ecosystem skills come from Lumen Loop, OpenZeppelin, the Stellar Development Foundation,
Stellar Light, and Trustless Work. Raven pins each source at a reviewed commit, and each skill keeps
its own license. ecosystem-skills/README.md describes the pin set.
Connect
Add https://raven.stellar.org/mcp to an MCP client that supports streamable HTTP and OAuth.
Raven is its own OAuth authorization server, and WorkOS AuthKit handles sign-in. Compatible
clients find and complete this flow automatically. An access token lasts 1 hour. Clients refresh
it automatically for 90 days, then the user signs in again.
For help, use the #raven channel in the
Stellar Developers Discord. To report a vulnerability, read
SECURITY.md.
Run locally
- Use Node 24 (
.nvmrc) and runnpm ci. - Create
.dev.varswith the variable names in the.dev.varsstep ofci.yml. SetDEV_ALLOW_UNAUTHENTICATED=trueto skip OAuth. This bypass works only for the loopback hostslocalhost,127.0.0.1,::1, and[::1]. A Lumenloop call needs a realLUMENLOOP_API_KEY. A Stellar Docs call needs realALGOLIA_APPLICATION_ID_DOCSandALGOLIA_API_KEY_DOCSvalues. Without them, the call returns an error. A Stellar Light/Scout call needs no key. - Run
npm run typegen. It generatesenv.d.tsfromwrangler.jsoncand the names in.dev.vars. - Run
npm run devand connect a client tohttp://localhost:8787/mcp. Restart the server after you edit.dev.vars.
The Worker reads .dev.vars. Maintenance scripts, such as scripts/refresh-inventory.mjs, read
.env. Git ignores both files.
Test
npm run typecheck # tsc
npm test # unit and contract tests (offline)
npm run test:smoke # the assembled Worker and the Dynamic Worker boundary
npm run build # dry-run the Worker bundle
test/README.md maps the test suites.
Documentation
License
Apache-2.0 © 2026 Stellar Development Foundation. Third-party code, fonts, and upstream skill content keep their own licenses. Read THIRD-PARTY-NOTICES.md.