Lunora MCP
An MCP server for Lunora apps: the agent reads functions, tables, logs and errors of a deployed backend and runs queries.
- 296 ★ on the repository
- Last commit
- Apache-2.0
Extended access
Why this level
- The admin token opens production schema, logs and errors to the agent, and they may contain user data.
- Once writes are enabled the agent calls app mutations and actions, although each call needs confirmation.
Install
- Works in
Manual install
npm install @lunora/mcpThe first command from the package README. The server runs as the `lunora-mcp` binary, and `lunora mcp install` wires the servers into the editor.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The admin token opens production schema, logs and errors to the agent, and they may contain user data.
- Once writes are enabled the agent calls app mutations and actions, although each call needs confirmation.
This is third-party code. Review the repository files before installing.
What it does
The `@lunora/mcp` package connects an agent to a deployed Lunora app, a type-safe real-time backend for Cloudflare Workers and Durable Objects. The `lunora_list_functions`, `lunora_list_tables` and `lunora_get_function_schema` tools show public functions, tables and arguments, and `lunora_run_query` runs a read-only query. For the app owner there is observability: logs, errors grouped into Issues, schema and query advisories, migration status and the queue of deferred jobs. Mutations and actions are off by default and take two steps: the server first returns the proposed action with a signature, then executes it after a confirmation carrying that signature. A separate documentation server at `https://lunora.sh/mcp` needs no keys and shows the agent the framework's real API.
Who it is for. Developers building an app on Lunora who want the agent to debug it from logs and schema without guesswork.
Good fit when
- Errors grow after a Cloudflare deploy and the agent should find their groups in Issues.
- The agent has to learn which queries and mutations the app has and build valid arguments.
- Code is written on Lunora while the agent invents framework methods that do not exist.
- Slow queries are found through per-statement execution statistics.
- Before a release the team checks which migrations are applied and which are pending.
Not a fit when
- The app is not written on Lunora: the server only speaks its RPC.
- The production admin token must not be handed to an agent, let alone to a third-party model provider.
- A general Cloudflare MCP is wanted: the server sees only the functions and data of a Lunora app.
Example request
Connect to the Lunora app, show error groups from the last hour and find the function that causes them.MCP
- Transport
- stdio, http
- Authentication
- API key
Environment variables
LUNORA_URLrequired- Address of the deployed Lunora app.
LUNORA_ADMIN_TOKENrequired, secret- Admin token of the deployment.
LUNORA_MCP_ALLOW_WRITES- Enables the write tools, off by default.
LUNORA_MCP_ALLOW_OBSERVABILITY- Exposes the log, error and migration tools.
Limitations
The framework is in an alpha stage: the npm package is called `lunorash`, installed from the `@alpha` tag, and breaking changes are possible until the first stable release. The server requires `LUNORA_URL` and `LUNORA_ADMIN_TOKEN`. Writing is switched on by `LUNORA_MCP_ALLOW_WRITES` and the log and error tools by `LUNORA_MCP_ALLOW_OBSERVABILITY=1`. Write confirmation proves that the proposed call is unchanged and says nothing about a human being present: the decision stays with the agent's client. Logs and errors reach the model context together with user data. The license is FSL-1.1-Apache-2.0.
How to disable. Remove the `lunora` entry from the MCP configuration and rotate `LUNORA_ADMIN_TOKEN` in the app. If the server was started for HTTP, stop it too.
FAQ
How do I connect Lunora MCP to Claude Code or Cursor?
Add a `lunora` server to the MCP configuration with the command `lunora-mcp` and the `LUNORA_URL` and `LUNORA_ADMIN_TOKEN` variables. Most users find it easier to run `lunora mcp install`, which wires both the deployment and the documentation MCP into the editor.
Can the agent change data in the app?
Only if `LUNORA_MCP_ALLOW_WRITES` is enabled. Even then `lunora_run_mutation` and `lunora_run_action` take two calls: the first returns a proposal and a signature, the second with `confirmed: true` and the signature runs the action.
How does the documentation server differ from the main one?
The documentation server does not touch your app and needs no keys; it is available at `https://lunora.sh/mcp`. The main server works with your deployment through the admin token.
How do I enable the log and error tools?
Set `LUNORA_MCP_ALLOW_OBSERVABILITY=1`. By default the five `lunora_get_*` tools are hidden because logs may contain user data.
Does Lunora ship skills for agents?
Yes. The `@lunora/cli` package contains 15 skills, from `lunora-quickstart` and `lunora-functions` to `lunora-deploy` and `lunora-performance-audit`. The `lunora rules install` command copies them into a project.
Discussion
No questions or reviews yet.
Related
MCP serversApollo's MCP server: turns chosen GraphQL operations into tools the agent uses to work with your API
The MCP server of the bunqueue job queue: an agent schedules cron jobs, retries failures, sets limits and reads stats, no Redis.
Firebase MCP Server
Firebase CLI and MCP Server
Official Firebase MCP server from the Firebase CLI: projects, Firestore, Auth, Crashlytics, Remote Config and function logs
A Laravel and Lumen package that adds an MCP endpoint to your app's routes and attaches your own tools to it
FireCMS Cloud MCP server: an agent reads Firestore data, infers collection schemas and manages the project's users.
PubNub MCP: PubNub docs and apps in an agent
PubNub MCP Server
PubNub's official MCP server: SDK docs in 20 languages and management of apps, keysets, channels and analytics from an agent
README in short
The package README splits capabilities into a deployment server and a documentation server. Separate sections cover write confirmation, observability, exposing app functions as tools through an OpenRPC document and running durable agents.