FlightPlan
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FLIGHTPLAN_API_KEY | No | Credential from `getflightplan login` |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| post_intentA | Register what you are about to work on so other developers' agents can avoid collisions. Call this before starting any non-trivial coding task (anything touching more than a trivial fix). Infer |
| list_intentsA | Query in-flight and recent work across the team. Three distinct uses — pick exactly one: (1) pre-planning semantic check — pass |
| get_intentA | Fetch one intent's full record — the whole summary and outcome — by id or by a unique 8-char prefix. Overlap, context and list entries carry excerpts only, so call this when the excerpt is not enough: an overlap you have to describe to your user, or a context outcome you want to read in full before starting. Read-only; it records nothing. |
| update_intentA | Update an in-progress intent. Call when the work changes shape (revise summary or touches — collision checks run against these fields, so stale globs silently miss real collisions) or when work runs long (a call with just the id renews the TTL heartbeat; active intents expire after ~48h without one). Calling with just the id ALSO returns fresh |
| complete_intentA | Close out an intent when work finishes or is abandoned. The outcome summary is required for |
| mark_intent_landedA | Record that work an already-COMPLETED intent declared uncommitted is now in git. Call this the moment you learn it: you committed and pushed that work yourself, or you can see in the tree that the work another session left uncommitted has since landed. Until someone says so, the registry keeps warning every agent who touches those paths and keeps re-telling the same story about work that is no longer at risk — a tree it cannot see is the one thing it cannot check for itself. Pass the commit SHAs if you know them; landing without them is fine and complete, the timestamp is the correction. Idempotent, and it never rewrites the completion record — the outcome, the reported files and the original |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
The lifecycle roles (post, list, get, update, complete, mark_landed) are clearly distinct, but collision-check functionality is spread across three tools: post_intent returns overlaps, list_intents offers glob/semantic checks, and update_intent re-runs them mid-session. An agent could reasonably hesitate over which to use for a given check, though the descriptions do clarify the intended contexts.
All names are snake_case with a leading verb (post_intent, list_intents, get_intent, update_intent, complete_intent, mark_intent_landed). The pattern is predictable and the slightly longer mark_intent_landed still fits the verb_noun convention.
Six tools is well-scoped for a lightweight intent-coordination registry: each tool maps to a distinct lifecycle step (create, query, read, revise, close, correct-landing-status). Nothing feels padded or missing at the count level.
The surface covers the full intent lifecycle: create, list/search, get, update/heartbeat, complete (including abandonment), and post-hoc landing correction. The main minor gap is the absence of an explicit delete/retract for erroneous intents, and querying is limited to summary/glob/time rather than author or kind filters.