astra-ops-hub
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@astra-ops-hubrun the support_resolver engine and summarize the evidence vs assumptions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Astra Ops Hub
Nineteen runnable business engines that implement the GPT-6 Astra workflow cases from the beamnxw field guide, plus an MCP server, memory evolution log, and approval policy.
This is not a prompt pack. Each case executes against the Northlamp Commerce world fixture, returns a structured artifact, splits evidence vs assumption, and refuses unsafe writes until a human approves.
Repo: https://github.com/ST3ELY1212-code/astra-ops-hub
Install
git clone https://github.com/ST3ELY1212-code/astra-ops-hub.git
cd astra-ops-hub
python -m pip install -e .
python -m pytest -qRelated MCP server: nano-vm-mcp
CLI
python -m astra_ops.cli list
python -m astra_ops.cli run support_resolver
python -m astra_ops.cli run multi_agent --goal "founder week pack"
python -m astra_ops.cli run-all
python -m astra_ops.cli monitor
python -m astra_ops.cli memory
python -m astra_ops.cli focusMCP
{
"mcpServers": {
"astra-ops-hub": {
"command": "python",
"args": ["-m", "astra_ops.mcp_server"],
"cwd": "/absolute/path/to/astra-ops-hub"
}
}
}Tools: list_cases, run_case, run_all, monitor, memory_recent, focus_directives.
Open site/index.html for the operator console.
Available Tools
6 toolsfocus_directivesD
Directives learned from competitor gaps
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about whether this is a read or a mutation, whether case_id is required, or what is returned. 'Directives learned' leaves the agent guessing about the operation entirely.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short phrase, but the brevity reflects under-specification rather than economy. There is no front-loaded statement of what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, no parameter documentation, and a four-word description, an agent has essentially nothing to decide whether or how to call this tool. Completely inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter case_id is undocumented in both schema and description. The description never mentions the parameter or explains what a case ID selects, so it compensates for none of the coverage gap; only the self-evident parameter name saves it from a 1.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun phrase fragment ('Directives learned from competitor gaps') with no verb and no stated action. It gestures at a resource but an agent cannot tell whether this reads, computes, or returns directives, nor how it differs from siblings like run_case or monitor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool, when not to, or what alternative to use. The sibling list (list_cases, run_all, monitor, run_case, memory_recent) offers no routing signal from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_casesA
List the 19 Astra Ops Hub use-case engines
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden; 'List' strongly implies a non-destructive read with no side effects, which is the key safety signal. It adds the useful fact that exactly 19 engines exist, but says nothing about what the listing contains (names only, IDs, descriptions) or ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence with zero filler. The resource and the count are stated immediately with nothing redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param enumeration tool the main open question is the return shape, and with no output schema the description should say what each entry provides (particularly whether it returns identifiers usable with run_case). That gap keeps it at minimum-viable rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. No parameter caveats are needed or missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and a concrete resource (the 19 Astra Ops Hub use-case engines), including the exact cardinality. It implicitly contrasts with execution-oriented siblings like run_case and run_all, but never names them explicitly to lock in the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the discovery step before calling run_case. There is no explicit statement of when to use it versus run_case, run_all, or monitor, and no note on whether it must be called before execution.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_recentD
Read evolution memory
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the entire behavioral burden, yet it discloses nothing: no recency window, no ordering, no side effects, no authorization needs, no return shape. "Read" implies a read-only operation but even that is inferred rather than stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that is under-specification rather than conciseness: three words that leave the essential meaning undefined. There is nothing to be front-loaded because there is essentially no content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only source of truth, and it leaves the agent unable to predict what memory_recent returns or how limit affects it. The single optional parameter keeps the tool simple, which limits the damage, but the definition is not sufficient to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single limit parameter, so the description must compensate and does not. At best the word "recent" hints at a recency-based cap, but it never explains units, default, or what happens when limit is omitted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Read evolution memory" names a verb and a resource, but "evolution memory" is undefined domain jargon and does not tell an agent what is actually returned (recent entries? a summary? a state snapshot?). It comes close to restating the tool name memory_recent and gives no basis for distinguishing it from the sibling tools list_cases, run_case, or monitor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this tool, when not to, or which sibling to use instead. The agent must guess whether this belongs before run_case, after monitor, or somewhere else in the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitorC
Heartbeat: statuses and open approval gates
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it never says whether this is read-only, whether it mutates or acknowledges approval gates, whether output is a snapshot or stream, or whether it is safe to poll. Only the term 'Heartbeat' gestures at snapshot semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is six words and front-loads the only concept it has, so it is not padded. However, it is under-specified rather than concise: the colon-fragment structure omits the verb that would make the purpose actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, no annotations, and no parameters, so the description is the sole source of information and it is too thin to tell an agent what a call returns or how to use the result. Missing are the return shape, the meaning of 'open approval gates', and whether action is expected on them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the input schema has an empty properties object, so there is nothing for the description to disambiguate. Baseline 4 applies; the description neither adds nor omits parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Heartbeat: statuses and open approval gates' hints at what the tool returns (status snapshot plus pending approvals) but never states an action or verb, and gives no hint of how it differs from siblings like list_cases or focus_directives. Purpose is inferable but vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this tool versus run_all, focus_directives, or list_cases, and no mention of polling cadence or prerequisites. Only the word 'Heartbeat' loosely implies a periodic status check; the agent must guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_allB
Execute every engine and record memory plus focus areas
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses that the tool writes memory and focus areas, but it does not explain what 'record memory' entails, whether existing data is overwritten, or what happens on partial failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the action and side effects front-loaded. It contains no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a bulk executor with side effects and no annotations or output schema, the description omits what is returned, how errors are handled, and whether the run is reversible. It covers the core action but leaves meaningful behavioral gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. There is nothing parameter-specific the description needs to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Execute) and scope (every engine), plus the side effects of recording memory and focus areas. It does not explicitly contrast itself with run_case or list_cases, so the agent must infer that 'every' means the bulk variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this vs run_case or when to avoid a full run. 'Every engine' implies bulk execution, but no alternatives, preconditions, or exclusions are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_caseC
Execute one use-case engine against the Northlamp world fixture
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | ||
| case_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full disclosure burden yet says nothing about side effects, whether the fixture is mutated, expected runtime, or cost. The presence of a sibling 'monitor' suggests long-running execution, but the description never says so or tells the agent whether to follow up with monitor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler and the action front-loaded. It is compact, though the terseness comes at the cost of the missing details noted elsewhere rather than being deliberate economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an execution-launcher tool with no annotations, no output schema, and zero documented parameters, nine words is far from sufficient. An agent cannot tell what happens on success, whether execution is synchronous or async, or how the two parameters interact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only loosely maps 'use-case engine' to case_id and says nothing at all about the optional 'goal' parameter — what it does, whether it overrides case defaults, or what format it takes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Execute') and resource ('one use-case engine') with a scoping qualifier ('against the Northlamp world fixture'). 'One use-case engine' implicitly contrasts with the run_all sibling, though no sibling is named explicitly. 'Northlamp world fixture' is unexplained jargon, but the core action is legible.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this over list_cases, run_all, or monitor, and no preconditions given. The singular 'one' hints at a batch-vs-single distinction with run_all, but the agent must infer it rather than being told.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v1.1.0- First observed
focus_directives - First observed
list_cases - First observed
memory_recent - First observed
monitor - First observed
run_all - First observed
run_case
TDQS
Scored across 6 tools
Each tool has a largely distinct role: listing cases, running one vs. all engines, checking status, reading memory, and reading directives. The only mild overlap is between run_all and run_case, but their descriptions make the scope difference clear.
All names use snake_case, but the conventions are mixed: list_cases and run_case are verb_noun, run_all is verb_adverb, monitor is a bare verb, while memory_recent and focus_directives are noun phrases. Readable but not a predictable pattern.
Six tools is well-scoped for an ops hub covering listing, execution, monitoring, and memory/directive reads. Each tool earns its place without bloat or excessive thinness.
Core execution and inspection paths exist, but the surface has notable gaps: monitor exposes open approval gates yet there is no approve/reject tool, and there is no way to inspect a single engine's details or status. Memory and directives are read-only, which may be acceptable but limits lifecycle coverage.
Maintenance
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Hosted MCP memory and agent control plane for durable conversations, jobs, and operations.
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnterprise-grade MCP server with multi-agent system for business AI transformation across finance, healthcare, retail, and other domains. Provides specialized AI agents for data analysis, API execution, business validation, and report generation with real-time monitoring and observability.-
- AlicenseAqualityBmaintenanceGoverned agent execution gateway for LLM workflows, providing deterministic FSM-based execution, audit trails, and idempotency guarantees via MCP.539 PyPIMIT
- AlicenseNot gradedqualityDmaintenanceEnables multi-model leader-worker agent orchestration, workflow execution, and deterministic validation via structured MCP tools.7 npmApache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables enterprise multi-agent decision workflows that expose 8+ MCP tools such as SQL query, web search, Python sandbox, RAG, file access, data cleaning, chart generation, and HTTP calls, orchestrated with LangGraph, streaming output, and human-in-the-loop approvals.MIT