Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CURSOR_BINNoPath to the Cursor CLI binary (cursorBin). Default: agent.exe.agent.exe
CURSOR_BRIDGE_A2A_HOSTNoListen address for the A2A service (a2aHost); 0.0.0.0 exposes it externally (requires a2aAuthToken). Default: 127.0.0.1.127.0.0.1
CURSOR_BRIDGE_A2A_PORTNoWhen non-zero, exposes the A2A HTTP service (Agent Card + JSON-RPC) (a2aPort). Default: 0 (disabled).0
CURSOR_BRIDGE_LOG_LEVELNoLog level: debug / info / warn / error (logLevel). Default: info.info
CURSOR_BRIDGE_STATE_DIRNoDirectory for index, logs and artifacts (stateDir). Default: %LOCALAPPDATA%\wb-cursor-bridge.
CURSOR_BRIDGE_ADMIN_PORTNoWhen non-zero, exposes /healthz /stats /jobs on 127.0.0.1 (adminPort). Default: 0 (disabled).0
CURSOR_BRIDGE_TIMEOUT_SECNoWall-clock limit per task in seconds (defaultTimeoutSec). Default: 900.900
CURSOR_BRIDGE_EVENT_LOG_DIRNoWhen set, each job's events are appended asynchronously to <dir>/<jobId>/events.jsonl (eventLogDir). Default: empty.
CURSOR_BRIDGE_A2A_AUTH_TOKENNoWhen set, A2A endpoints (POST /a2a, /healthz, /metrics, /version, artifact downloads) require 'Authorization: Bearer <token>' or 'X-A2A-Token: <token>', otherwise 401 (a2aAuthToken). Default: empty.
CURSOR_BRIDGE_A2A_PUBLIC_URLNoExternally reachable URL used as the Agent Card url in reverse-proxy/container setups (a2aPublicUrl). Default: empty.
CURSOR_BRIDGE_PERSIST_EVENTSNoSet to 1 to automatically use <stateDir>/events for event persistence (persistEvents). Default: 0.0
CURSOR_BRIDGE_MAX_CONCURRENCYNoMaximum number of concurrent tasks; exceeding it fails fast (maxConcurrency). Default: 4.4
CURSOR_BRIDGE_WORKSPACE_ROOTSYesAllowed repository roots, separated by ';' (workspaceRoots). If empty, all tasks are rejected.
CURSOR_BRIDGE_A2A_CORS_ORIGINSNoComma-separated allowed CORS origins; when matched, Access-Control-Allow-Origin is reflected; disabled by default (a2aCorsOrigins). Default: empty.
CURSOR_BRIDGE_A2A_PUSH_ALLOWLISTNoComma-separated allowlist of trusted webhook hosts; required when push is enabled and the target is private/loopback (a2aPushUrlAllowlist, SSRF protection). Default: empty.
CURSOR_BRIDGE_A2A_BLOCKING_MAX_MSNoUpper bound in ms for message/send blocking until terminal state when configuration.blocking is true; range [1000, 600000] (a2aBlockingMaxMs). Default: 90000.90000
CURSOR_BRIDGE_A2A_PROTOCOL_VERSIONNoA2A protocol version emitted; set to 1.0 for v1.0-compliant Agent Card and Task (a2aProtocolVersion). Default: 0.3.0.0.3.0
CURSOR_BRIDGE_ADMIN_SHUTDOWN_TOKENNoWhen set, /admin/shutdown requires this token (adminShutdownToken). Default: empty.
CURSOR_BRIDGE_A2A_RATE_LIMIT_PER_SECNoToken-bucket rate limit for POST /a2a in requests/second; range [1, 100000]; exceeding returns 429 RATE_LIMITED(-32050) (a2aRateLimitPerSec). Default: 250.250

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
cursor_runA

Dispatch a task to the Cursor sub-agent and return a job id IMMEDIATELY. This tool never blocks: a real code task takes minutes, so poll with cursor_status. tier=consult is read-only Q&A, tier=plan is read-only planning, tier=execute may write files and is always isolated in a git worktree.

cursor_statusB

Poll a job. Pass waitSeconds (max 55) to block briefly until it settles, and since to receive only new events.

cursor_replyA

Send input to a job. If the task is paused in the A2A input-required state, this RESUMES the SAME task (same job id, thread preserved) — input-required -> working -> completed. Otherwise it spawns a child follow-up job that resumes the Cursor thread. Cancel a running job before replying.

cursor_cancelB

Cancel a running job and kill its entire process tree.

cursor_listB

List recent jobs with status, tier and duration.

cursor_diffA

Inspect what an execute job changed: changed file list, diffstat, and optionally the raw patch text. Use offset/limit to page through a large patch.

bridge_healthA

Preflight diagnostics: binary resolution, workspace allowlist, state directory writability, concurrency and metrics. Run this first when a task fails for unclear reasons.

bridge_statsA

Counters for job outcomes, tier mix and duration, for capacity planning.

bridge_shutdownB

Cancel all in-flight jobs, flush state and exit. Use before restarting the bridge so no Cursor process is left orphaned.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a distinct lifecycle step: dispatch, poll, reply/resume, cancel, list, diff inspection, stats, health, and shutdown. The only potentially close pair, cursor_run and cursor_reply, is clearly separated by starting a new job versus resuming or following up on an existing one. No tool appears to duplicate another's purpose.

Naming Consistency5/5

Names consistently use snake_case with a stable resource prefix: cursor_* for job operations and bridge_* for bridge-level operations. The pattern is predictable and reflects the underlying domain grouping. Minor noun/verb variation (cursor_status, bridge_health) does not undermine consistency.

Tool Count5/5

Nine tools is well-scoped for an asynchronous job bridge, covering dispatch, polling, interaction, cancellation, inspection, diagnostics, and shutdown. Each tool appears to earn its place without obvious filler. The surface is neither thin nor bloated.

Completeness4/5

The tool set covers the full job lifecycle, including execution, polling, replying/resuming, cancellation, diff inspection, metrics, health checks, and shutdown. A minor gap may exist around explicitly retrieving a finalized job result or artifacts beyond status events and diff output, but agents can likely work around it via cursor_status.

Maintenance

ActivityMaintained
ResponsivenessNo issues