Skip to main content
Glama

Server Details

MCP tools over one Atisbo workspace: Signals, Opportunities, Backlog, Decisions, Living Documents.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 53 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

B3.4/5.0

Scored across 8 tools

Disambiguation3/5

The facade design (each tool bundles many modes) creates real overlap: atisbo_decide, atisbo_map, and atisbo_capture all perform mutations (create/update/delete artefacts, nodes, solutions), and atisbo_lookup, atisbo_analyze, and atisbo_orient all retrieve workspace information. The descriptions add explicit routing hints (e.g. 'Use FIRST for analytical questions', taxonomy vs structural maps) that mitigate confusion, but an agent must parse dense mode-level guidance to choose correctly.

Naming Consistency5/5

Every tool follows the identical pattern of the atisbo_ prefix plus a single lowercase verb (analyze, capture, connect, decide, lookup, map, orient, support). No mixed conventions or casing deviations across the set.

Tool Count5/5

Eight tools is well-scoped for a broad signal/knowledge platform, and the facade approach deliberately consolidates many operations into a small, manageable surface. No tool feels redundant in count and none is trivially thin.

Completeness4/5

The surface covers ingestion (connect), capture, retrieval/lookup, analytics, mapping, decision lifecycle, orientation, and diagnostics, with delete/update paths embedded in facades. Minor ambiguity remains about whether some lifecycle operations (e.g. explicit deletion or outcome retrieval) are fully reachable, but core workflows appear covered.

Available Tools

8 tools
atisbo_analyzeA
Read-only
Inspect

Broad analytical query over claims, solutions, or activity: time filters, grouping, metrics, ready-to-render chart artifact. Use FIRST for analytical questions spanning entities or time windows; a single-entity drill-down is atisbo_lookup mode=get with the entity id.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo Max grouped rows; over-asks clamp.
cursorNoFrom stream.next_cursor — pages grouped rows beyond `limit`.
domainNoFree-text product area, resolved to map nodes.
filtersNoFilters: AND across fields, OR within a field.
metricsNoAggregate metrics per group (1-4).
subjectNoclaims (opportunities), solutions, or activity (decisions + events).
analysisNosummary, table, or chart kind (bar/line/scatter); trend=line.
group_byNoRow grouping dimensions (1-2).
time_rangeNo7d/30d/90d preset or from/to ISO dates; default 30d.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
metaYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true / destructiveHint=false, so safety is covered; the description adds output behavior the annotations do not carry, namely that it returns a 'ready-to-render chart artifact' and offers grouping/metric aggregation. It stops short of disclosure on pagination or result-size limits despite a cursor/limit interface.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler. The capability statement comes first and the routing rule follows, so the most decision-relevant information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value detail is unnecessary in the description, and the annotation covers safety. What remains slightly thin is the filter/metric vocabulary (left entirely to the schema) and any note on grouping cardinality or pagination limits, but nothing an agent needs to select and invoke correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents limit, cursor, domain, filters, metrics, subject, analysis, group_by, and time_range in detail. The description restates the parameter categories at a high level (time filters, grouping, metrics) without adding format or semantics beyond the schema; baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (analytical query) and the exact resource set (claims, solutions, activity), plus its breadth (time filters, grouping, metrics, chart artifact). It explicitly contrasts itself with the sibling atisbo_lookup, so an agent can route without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit selection rule: 'Use FIRST for analytical questions spanning entities or time windows,' and names the alternative for the opposite case ('single-entity drill-down is atisbo_lookup mode=get with the entity id'). Both the when-to-use and the when-to-use-something-else are stated outright.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

atisbo_capture
Destructive
Inspect

Capture Signals or knowledge; update, patch or add evidence to artefacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
opsNo
bodyNo
modeYesCapture mode. Notes per mode in meta.guidance.
noteNoWhy it matters.
textNoSignal text.
itemsNoBatch; max 100 items.
titleNoKnowledge title.
sourceNoSignal source.
contentNoKnowledge content.
messageNo
node_idNoknowledge: alias for scope_id.
patchesNo
categoryNoknowledge: label hint ≤60 chars.
claim_idNoknowledge: alias for scope_id.
documentNosignal: backing doc → claim-scoped Knowledge.
evidenceNoEvidence fields; document_id top-level.
modalityNoQ=Quote, O=Observation, M=Metric; else inferred.
patchOpsNo
scope_idNoTarget scope UUID; required for node/claim/map (solution: omit/"auto").
file_nameNo
mime_typeNo
patch_opsNo
agent_nameNo
scope_typeNoScope kind; company = workspace.
attachmentsNo1-5 files; 3 MB combined.
document_idNoLiving document UUID (artefact modes).
solution_idNoknowledge: alias for scope_id.
capture_modeNoKnowledge routing.
captured_fromNo
change_summaryNopatch_artefact: REQUIRED — change_summary (or note), one sentence of what changed.
classificationNoSignal classification hint.
dirty_event_idNoDirty event resolved
knowledge_kindNo
coverage_updatesNobuckets snippets/ideas/claims; snippets[].{snippet_id,status,rationale}
client_request_idNosignal: retry key.
proposed_solutionNosignal: draft Solution born linked on the clustered claim.
expected_content_hashNodoc_patch_context content_hash
corrects_prior_evidenceNosignal: CORRECTS prior evidence — skips dedup (when/why in meta.guidance).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
atisbo_connectA
Destructive
Inspect

WHERE Atisbo gets its signals. Modes: list, catalog, create (returns endpoint), configure, pause, resume, sync_now, delete (soft-disconnect). THE CATALOG IS NOT THE BOUNDARY: almost anything connects (push app, daily-pull app, raw webhook/email) — call catalog and read fallback before ever saying "Atisbo cannot ingest that". Atisbo only READS a connected system. create returns endpoint + signing secret shown ONCE — relay to the human immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNomode=create: "email" provisions the ingest address; default webhook.
modeNolist/catalog need no ids; others need connection_id or create fields.
labelNocreate/configure: human name for the source, e.g. "Freshdesk".
queryNomode=catalog only: filter by name, category or description.
configNocreate with provider: catalog required_fields; stored encrypted.
toolkitNocomposio action modes: Composio app slug (e.g. "freshdesk").
providerNomode=create: NATIVE provider from catalog native_providers (with config).
pull_toolNocomposio_create: read-only daily action from composio_actions.
recipe_idNomode=create: catalog recipe id — applies its curated mapping.
json_pathsNocreate/configure: dotted paths into the payload body.
rate_limitNocreate/configure: max requests/min accepted. Default 100.
sync_everyNoPULL sources only: cadence. Default daily.
trigger_slugNocomposio_create, INSTANT apps: trigger from composio_catalog.
connection_idNoConnection id (mode=list); required by configure/pause/resume/sync_now/delete.
pull_argumentsNocomposio_create with pull_tool: action arguments.
collection_pathNocomposio_create + pull_tool: dotted path to the record array.
source_categoryNomode=create with your own mapping: what the payload carries.
skip_attributionNocreate: anonymous public-forum sources have no attributable customer.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations (readOnlyHint=false, destructiveHint=true) already flag this as a mutating, potentially destructive tool, and the description reinforces this with "delete (soft-disconnect)" and the one-time-secret disclosure for create, which is genuinely useful operational context. The "Atisbo only READS a connected system" line describes the connected system, not this tool, but it does not contradict the annotations. It stops short of explaining rollback/irreversibility of soft-disconnect.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but front-loaded — it leads with the resource's role, then the mode set, then the two critical behavioral caveats (catalog is not the boundary; secret shown once). Capitalized emphasis is heavy but the sentences each carry information rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and annotations covering the safety profile, the description's job is to cover intent and routing, which it does: modes, catalog fallback, and secret handling. It is complete enough to call correctly, though a multi-mode tool with 18 parameters could benefit from brief mode-to-parameter mapping guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and each of the 18 parameters is individually documented, so the schema carries the parameter burden and 3 is the appropriate baseline. The description adds only mode-level prose about create/delete behavior, not per-parameter syntax or format meaning beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource concretely ("WHERE Atisbo gets its signals") and enumerates all operational modes (list, catalog, create, configure, pause, resume, sync_now, delete), so an agent knows this is the connection-management entry point. It does not differentiate from the sibling tools by name, but those siblings (analyze/capture/decide/lookup/map/orient/support) have no overlapping surface, so the gap is minor.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear call-order instruction — "call catalog and read `fallback` before ever saying 'Atisbo cannot ingest that'" — and an operational directive to relay the signing secret to a human immediately. What's missing is any when-not guidance or explicit routing among the sibling tools, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

atisbo_decide
Destructive
Inspect

PM decision facade. CURATE: evidence review/grouping, deal-breakers. EXECUTE: create, update, dispatch or delete Solutions, record Outcomes. DOCUMENT/GOVERN: living docs, coverage, schedules, knowledge, strategy. log_decision is only for external decisions; mutations log themselves. Writes require UUIDs. mode=declare_pm_exception marks a CLAIM as needing a human decision.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNodelete_knowledge/set_knowledge_category doc id.
modeYesResolve names to UUIDs before mutating; notes per mode in meta.guidance.
noteNorecord_outcome 5000; triage/log_decision rationale 2000.
specNo
briefNodispatch_solution: agent brief.
forceNoAudited source-deleting reassignment (omit refused).
titleNo
effortNoSize estimate, person-weeks (never affects order).
matrixNovalidate_delivery / deliver: one entry per criterion.
pr_urlNo
statusNoTarget classification.
commentNoupdate_solution / deliver: thread report as the agent.
missionNoupdate_strategy: informational only.
node_idNo
outcomeNorecord_outcome: launch impact.
roadmapNoupdate_strategy: informational only.
verdictNotriage closes; log_decision takes the judgement answer.
categoryNolabel to set; null clears.
claim_idNoClaim UUID (atisbo_lookup mode=resolve)
decisionNomax 500 chars.
strategyNoupdate_strategy: the only functional field.
unassignNo
claim_idsNo
kpi_afterNo
lifecycleNoIDEA|DESIGNING|IN_DEVELOPMENT; LAUNCHED only via update_solution.
target_idNo
agent_nameNoSigns comments/assignments/decisions.
kpi_beforeNo
risk_notesNoUnresolved contradictions acknowledged by id.
snippet_idNo
updated_atNoOptimistic lock; stale edits fail STALE_DATA.
descriptionNo
document_idNo
instructionNo
observed_atNo
review_kindNo
snooze_daysNo
solution_idNoSolution UUID (from a name or SEN-n: atisbo_lookup mode=resolve)
target_typeNo
alternativesNo
out_of_scopeNocheck_coverage: ids intentionally NOT addressed.
product_nameNo
snooze_clearNo
clear_discardNo
covered_ideasNocheck_coverage: idea ids in the coverage map.
decision_typeNolog_decision: e.g. product_decision, note; full list in the error.
evidence_refsNorecord_outcome: durable evidence refs.
main_featuresNo
assign_node_idNoupdate_solution: taxonomy node.
covered_claimsNocheck_coverage: claim ids this work implements.
design_contextNo
discard_reasonNoDivergence loser (ADR-224); CANCELED required.
force_reassignNoAudited takeover of a Solution in progress.
metric_currentNorecord_outcome (automated): fresh metric reading.
pm_instructionNoupdate_strategy: the PM's request, quoted.
priority_boostNoPM multiplier over evidence-weighted priority.
assign_to_agentNoupdate_solution: take ownership.
is_deal_breakerNotrue = confirm/flag, false = reject/unflag.
target_claim_idNoClaim UUID (atisbo_lookup mode=resolve)
attach_claim_idsNo
coverage_updatesNodeliver: buckets snippets/ideas/claims.
detach_claim_idsNo
refresh_scheduleNo
criteria_left_outNoCriteria left OUT (ADR-234); only with LAUNCHED.
expected_behaviorNocheck_coverage: observable behavior delivered.
replace_confirmedNotrue confirms a shorter recorded delivery matrix replacing a longer one.
snooze_indefiniteNountil NEW EVIDENCE (not a timer).
chosen_solution_idNoupdate_solution: the winning sibling.
clear_pm_exceptionNo
outcome_confidenceNo
pm_exception_reasonNoa PERSON's choice + alternatives; blockers → operational_block_reason.
verification_methodNorecord_outcome: how verified (max 500 chars).
contradictions_foundNorecord_outcome (automated): attest a contradiction sweep.
clear_operational_blockNo
criteria_left_out_reasonNoWhy each is out; required with criteria_left_out.
operational_block_reasonNoupdate_solution: operational blocker; not a decision.
operational_block_categoryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultNo
atisbo_lookupC
Read-only
Inspect

Find or open Atisbo entities: snippets, queues, outcomes and implementation context across modes.

ParametersJSON Schema
NameRequiredDescriptionDefault
refNoopen: handle ref (claim:UUID, snippet://UUID).
modeYesNamed by its enum value (notes: meta.guidance).
refsNoopen: several refs (max 10).
typeNoclaims: classification.
viewNowork_queue: ONE bucket, complete.
depthNosummary=compact; work=full (default); evidence (claims)=evidence+decisions, no score internals.
focusNoclaims: agent_work | all.
limitNoMax results (1–200); page with next_cursor.
queryNoTopic search: claims/solutions/knowledge/context; resolve: name→id.
scopeNoScope for context / living_doc list.
stateNowork tokens (todo=DESIGNING); post-launch kinds.
typesNoresolve: entity kinds.
cursorNoCursor from a prior response.
entityNoget: which kind the id field names.
map_idNoMap UUID (mode=get).
statusNoStatus filter.
node_idNoNode UUID (get; claims/solutions filter).
sort_byNoSolution order (evidence-weighted × boost).
anchoredNoClaim list anchoring filter.
categoryNoknowledge: exact category filter.
claim_idNoClaim UUID (atisbo_lookup mode=resolve)
scope_idNoScope UUID (omit for company/workspace).
lifecycleNoSolution lifecycle filters.
target_idNoUUID for claim/solution/node/map/doc.
agent_nameNosolutions: rows HELD by this agent.
command_idNoreceipts: probe one write by a listed receipt key; omit = latest 25.
scope_typeNoAlias of scope; workspace=company.
claim_stateNoClaim state; open=untouched.
debug_scoreNoget claim: PowerScore breakdown.
document_idNoLiving document UUID.
review_kindNounreviewed only — see atisbo_decide mark_reviewed.
solution_idNoSolution UUID (from a name or SEN-n: atisbo_lookup mode=resolve)
action_cursorNowork_queue action_queue cursor; restart after mutations.
content_limitNo
include_staleNoclaims: include stale claims.
content_offsetNo
dirty_event_idNodoc_patch_context: loads this event's snippets.
evidence_limitNoget claim: evidence page one (1–25); cursor for the rest.
triage_outcomeNoclaims: triage verdict; review=pending; processing=in-flight.
exception_cursorNopages pm_exceptions.
judgement_cursorNopages needs_judgement.
operational_block_cursorNowork_queue: pages operational_blocks.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds little beyond 'find or open' – it doesn't disclose pagination behavior (cursor params exist), rate limits, return shapes, or how the 20 modes differ behaviorally. With 42 parameters and 20 modes, the description carries too little behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no waste, but it is under-specified rather than concise. Front-loading is fine, yet the sentence is too vague to be useful for a tool of this complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 42 parameters, 20 modes, an output schema, and complex sibling interactions, the description is far too sparse. It doesn't explain mode selection, return values, or how to navigate the many filters. The output schema covers return shape, but the description should do more to orient the agent on mode usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 95%, so the schema already documents parameters well. The description adds no parameter-level meaning beyond 'across modes' – it doesn't explain how mode interacts with ref, query, or the many mode-specific filters. Baseline for high coverage is 3, but this description adds nothing beyond the schema, so a 2 is warranted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Find or open Atisbo entities: snippets, queues, outcomes and implementation context across modes' – a vague list of resources and a reference to 'modes' without explaining what each mode does. It doesn't distinguish this tool from siblings like atisbo_orient or atisbo_analyze, and 'Atisbo entities' is jargon an agent can't resolve from the description alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 tool versus alternatives, no prerequisites, and no explanation of the 20 modes. The description merely mentions 'across modes' but gives no selection criteria or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

atisbo_map
Destructive
Inspect

Map facade: create/apply maps, generate/edit nodes and edges, anchor claims/snippets, bind metrics, manage claim-snipe maps, regroup (merge/split), build_macros (macros, preview first). Prefer mode=apply for full MECE categorization. TWO WAYS to put a claim on a node, NOT interchangeable: mode=anchor sets the TAXONOMY category (auto_node_id); mode=link_claims adds STRUCTURAL-map membership (claim keeps its category). Both refuse the wrong map kind.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesPer-mode notes in meta.guidance.
nameNoMap, node, or metric name.
noteNolink_claims: rationale stored on every link.
labelNo
levelNoNode hierarchy depth.
map_idNoMap UUID.
anchorsNoBatch claim anchors.
edge_idNoEdge UUID for delete_edge mode.
node_idNoNode UUID.
previewNoregroup / build_macros: read-only preview: run first.
branchesNoBranches for apply mode.
claim_idNoClaim UUID (atisbo_lookup mode=resolve)
map_typeNo
providerNoMetric provider: posthog, amplitude, stripe, manual…
templateNo
claim_idsNolink_claims: claims to place under node_id.
directionNoregroup: broader merges; specific splits.
edge_typeNo
new_levelNoNew depth after a move.
parent_idNoParent node UUID.
binding_idNometric_update: binding id (lookup get, metrics[].id).
event_nameNo
snippet_idNo
updated_atNometric_update: updated_at from your last read (stale edits fail).
assignmentsNo
descriptionNoMap/node/branch description.
metric_nameNo
metric_typeNo
target_valueNo
current_valueNometric_update: today's value; same-day re-entry replaces it.
grouping_modeNo
new_parent_idNoMove target parent; null promotes to root.
regroup_levelNoregroup broader: merge aggressiveness.
source_map_idNo
branch_optionsNo
source_node_idNo
target_node_idNo
workspace_wideNoregroup: explicit YES to run WORKSPACE-WIDE (refused without).
context_answersNoGrounding answers for AI map generation.
historical_dataNometric_update: full series REPLACEMENT (omit = append now).
time_range_daysNo
target_thresholdNoregroup direction=specific: split threshold.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultNo
atisbo_orientA
Read-only
Inspect

Workspace orientation. Modes: snapshot, whats_new, strategy, integrations. Continue the user's existing workflow; never create a parallel backlog. Living docs cite snippet:// refs — open with atisbo_lookup mode=open, full corpus via claim depth=work, aggregates via atisbo_analyze. Edit via atisbo_lookup mode=doc_patch_context then atisbo_capture mode=patch_artefact.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNosnapshot (alias: workspace)=task; whats_new=since_checkpoint; strategy/integrations none.
taskNotriage=untriaged inbox; planning=confirmed opportunities by priority; operations=signals & integrations; executive=KPIs & strategy.
depthNosummary=compact; work=full (default).
limitNoMax items. snapshot clamps to 20; whats_new to 50.
cursorNoPagination cursor.
since_checkpointNoISO 8601 checkpoint for delta reads.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the genuine behavioral rule about not creating a parallel backlog and tells the agent that docs contain snippet:// refs requiring resolution, but says nothing about return shape or pagination behavior (beyond what the output schema covers).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the purpose in two words and is dense with no filler, though the middle sentences pack several cross-tool workflow instructions into telegraphic fragments that take a second read to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and full schema coverage, the description only needs to convey purpose and workflow context, which it does. The one gap is that it never states the precondition for invoking orient in the first place, relying on the agent to infer it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (mode, task, depth, limit, cursor, since_checkpoint) is already documented in the schema, including enum meanings and limit clamps. The description restates the mode names but adds no syntax or format detail beyond the schema — baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource and action ('Workspace orientation') and enumerates the four modes, which maps to the mode enum. It doesn't sharply distinguish orient from siblings like atisbo_map or atisbo_analyze, but the mode list and routing hints make the tool's role inferable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to continue the user's existing workflow and never create a parallel backlog, and routes follow-up work to named alternatives (atisbo_lookup mode=open for snippet refs, atisbo_analyze for aggregates, atisbo_capture mode=patch_artefact for edits). It lacks an explicit statement of when to call orient itself versus those siblings (e.g. session start), so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

atisbo_supportA
Read-only
Inspect

Diagnose Atisbo, including "I connected a source and nothing appeared", "I sent text and no opportunity formed", or "my data is missing". Checks integrations, ingestion, clustering, gates and key scope, then returns a playbook. share_report files only diagnostics + your text. Use atisbo_lookup/atisbo_analyze for backlog.

ParametersJSON Schema
NameRequiredDescriptionDefault
areaNoNarrows the checks. Omit when unsure — the full set costs the same.
problemYesWhat went wrong, in your words. No customer feedback, docs or credentials — the string IS filed in reports.
share_reportNoFile a verdict-only report when the fault is not caller-side; false = diagnose.
observed_errorNoThe failing error VERBATIM — diagnostics cannot see the failed call; usually the only evidence.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
metaYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds non-obvious behavior: it returns a playbook, and share_report files only diagnostics plus the caller's text. That privacy/scope disclosure is real value beyond the structured fields. It does not, however, describe latency or what the playbook contains, so it is not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the verb and purpose, then the symptom examples that drive matching, then the routing constraint, then the privacy caveat. Every sentence carries distinct information; the quoted examples are load-bearing for intent matching rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter diagnostic tool with an output schema, full schema coverage, and safety annotations already present, the description supplies the remaining needed context: what it checks, when to invoke it, what it returns, and what data leaves the system. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3; the description lifts this slightly by clarifying share_report's side effect scope ('files only diagnostics + your text') and reinforcing that observed_error is usually the only evidence and the problem string is filed. Much of the parameter context duplicates the schema, so the gain over baseline is modest.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb (Diagnose) and resource (Atisbo), enumerates the exact symptom classes it handles in user phrasing, and lists the subsystems it checks (integrations, ingestion, clustering, gates, key scope). It also names the sibling tools it is not (atisbo_lookup/atisbo_analyze for backlog), so an agent can separate it from the rest of the family without reading schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete trigger scenarios ('I connected a source and nothing appeared', 'my data is missing') and routes backlog-style questions to atisbo_lookup/atisbo_analyze. The alternative routing is terse ('for backlog') and no other exclusions or prerequisites are stated, so it stops short of fully explicit when/when-not guidance.

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.

  1. 1 tool update
    • Changedatisbo_decide2 fields changed
      • addedInput schema / properties / decision / description
        Added value: +"max 500 chars."
      • addedInput schema / properties / decision / maxLength
        Added value: +500
  2. 2 tool updates
    • Changedatisbo_capture1 field changed
      • changedInput schema / properties / category / description
        Previous value: -"knowledge: free-form category label ≤60 chars."New value: +"knowledge: label hint ≤60 chars."
    • Changedatisbo_map5 fields changed
      • changedInput schema / properties / binding_id / description
        Previous value: -"metric_update: binding id (atisbo_lookup mode=get, metrics[].id)."New value: +"metric_update: binding id (lookup get, metrics[].id)."
      • changedInput schema / properties / mode / description
        Previous value: -"Notes per mode in meta.guidance."New value: +"Per-mode notes in meta.guidance."
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "apply",
        -  "create",
        -  "rename",
        -  "delete",
        -  "generate_nodes",
        -  "create_node",
        -  "update_node",
        -  "delete_node",
        -  "anchor",
        -  "create_edge",
        -  "delete_edge",
        -  "metric_bind",
        -  "metric_update",
        -  "preview_claim_snipes",
        -  "sync_claim_snipes",
        -  "regroup",
        -  "link_claims"
        -]New value: +[
        +  "apply",
        +  "create",
        +  "rename",
        +  "delete",
        +  "generate_nodes",
        +  "create_node",
        +  "update_node",
        +  "delete_node",
        +  "anchor",
        +  "create_edge",
        +  "delete_edge",
        +  "metric_bind",
        +  "metric_update",
        +  "preview_claim_snipes",
        +  "sync_claim_snipes",
        +  "regroup",
        +  "link_claims",
        +  "build_macros"
        +]
      • changedInput schema / properties / preview / description
        Previous value: -"regroup: read-only preview — ALWAYS run it first."New value: +"regroup / build_macros: read-only preview: run first."
      • changedInput schema / properties / workspace_wide / description
        Previous value: -"regroup: explicit YES to run WORKSPACE-WIDE (refused without it)."New value: +"regroup: explicit YES to run WORKSPACE-WIDE (refused without)."
  3. 1 tool update
    • Changedatisbo_decide5 fields changed
      • changedInput schema / properties / force / description
        Previous value: -"Confirms a source-deleting reassignment; omit = CONFIRMATION_REQUIRED."New value: +"Audited source-deleting reassignment (omit refused)."
      • changedInput schema / properties / note / description
        Previous value: -"record_outcome narrative 5000; triage/log_decision rationale 2000."New value: +"record_outcome 5000; triage/log_decision rationale 2000."
      • changedInput schema / properties / replace_confirmed / description
        Previous value: -"true confirms replacing a longer recorded delivery matrix with a shorter one."New value: +"true confirms a shorter recorded delivery matrix replacing a longer one."
      • changedInput schema / properties / verdict / description
        Previous value: -"mode=triage: BOTH values close the claim — see guidance."New value: +"triage closes; log_decision takes the judgement answer."
      • changedInput schema / properties / verdict / enum
        Previous value: -[
        -  "real_fixed",
        -  "noise"
        -]New value: +[
        +  "real_fixed",
        +  "noise",
        +  "proceed",
        +  "defer",
        +  "drop"
        +]
  4. 1 tool update
    • Changedatisbo_lookup1 field changed
      • changedInput schema / properties / status / enum
        Previous value: -[
        -  "active",
        -  "all",
        -  "archived"
        -]New value: +[
        +  "active",
        +  "all",
        +  "archived",
        +  "noise"
        +]
  5. 8 tool updates
    • Changedatisbo_analyze10 fields changed
      • changedInput schema / properties / analysis / description
        Previous value: -"summary (prose), table, or chart kind (bar/line/scatter); trend aliases line."New value: +"summary, table, or chart kind (bar/line/scatter); trend=line."
      • changedInput schema / properties / filters / properties / signal_origin / description
        Previous value: -"customer | internal | operational — separates what `sources` cannot (claim matches if ANY snippet matches)."New value: +"customer | internal | operational — claim matches if ANY snippet does."
      • changedInput schema / properties / filters / properties / sources / description
        Previous value: -"Transport, not provenance (captures store `manual`); claim/solution aggregates ignore it."New value: +"Transport, not provenance; claim/solution aggregates ignore it."
      • changedInput schema / properties / subject / description
        Previous value: -"Dataset: claims (opportunities), solutions, or activity (decisions + events)."New value: +"claims (opportunities), solutions, or activity (decisions + events)."
      • changedInput schema / properties / time_range / description
        Previous value: -"Preset (7d/30d/90d) or explicit from/to ISO dates. Defaults to 30d."New value: +"7d/30d/90d preset or from/to ISO dates; default 30d."
      • changedInput schema / properties / time_range / properties / preset / description
        Previous value: -"Relative time window preset."New value: +"Relative window preset."
      • changedOutput schema / properties / data / properties / artifact / properties / artifact_data / properties / resolved_query / properties / analysis / description
        Previous value: -"summary (prose), table, or chart kind (bar/line/scatter); trend aliases line."New value: +"summary, table, or chart kind (bar/line/scatter); trend=line."
      • changedOutput schema / properties / data / properties / artifact / properties / artifact_data / properties / resolved_query / properties / subject / description
        Previous value: -"Dataset: claims (opportunities), solutions, or activity (decisions + events)."New value: +"claims (opportunities), solutions, or activity (decisions + events)."
      • changedOutput schema / properties / data / properties / resolved_query / properties / analysis / description
        Previous value: -"summary (prose), table, or chart kind (bar/line/scatter); trend aliases line."New value: +"summary, table, or chart kind (bar/line/scatter); trend=line."
      • changedOutput schema / properties / data / properties / resolved_query / properties / subject / description
        Previous value: -"Dataset: claims (opportunities), solutions, or activity (decisions + events)."New value: +"claims (opportunities), solutions, or activity (decisions + events)."
    • Changedatisbo_capture5 fields changed
      • changedInput schema / properties / corrects_prior_evidence / description
        Previous value: -"signal: CORRECTS prior evidence, not a repeat (skips dedup; when/why in meta.guidance)."New value: +"signal: CORRECTS prior evidence — skips dedup (when/why in meta.guidance)."
      • changedInput schema / properties / coverage_updates / description
        Previous value: -"buckets snippets/ideas/claims; snippets[].{snippet_id, status, rationale}"New value: +"buckets snippets/ideas/claims; snippets[].{snippet_id,status,rationale}"
      • addedInput schema / properties / document
        Added value: +{
        +  "description": "signal: backing doc → claim-scoped Knowledge.",
        +  "properties": {
        +    "content": {
        +      "maxLength": 20000,
        +      "minLength": 10,
        +      "type": "string"
        +    },
        +    "file_name": {
        +      "maxLength": 200,
        +      "type": "string"
        +    },
        +    "mime_type": {
        +      "enum": [
        +        "text/html",
        +        "text/markdown"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "content"
        +  ],
        +  "type": "object"
        +}
      • addedInput schema / properties / proposed_solution
        Added value: +{
        +  "description": "signal: draft Solution born linked on the clustered claim.",
        +  "properties": {
        +    "description": {
        +      "maxLength": 2000,
        +      "type": "string"
        +    },
        +    "title": {
        +      "maxLength": 200,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "title"
        +  ],
        +  "type": "object"
        +}
      • changedInput schema / properties / scope_id / description
        Previous value: -"Target scope UUID; required for node/claim/map. On scope_type=solution (mode=knowledge), omit it or pass \"auto\": Atisbo routes the detail to an open Solution."New value: +"Target scope UUID; required for node/claim/map (solution: omit/\"auto\")."
    • Changedatisbo_connect9 fields changed
      • changedInput schema / properties / collection_path / description
        Previous value: -"composio_create with pull_tool: dotted path to the record array if not inferable."New value: +"composio_create + pull_tool: dotted path to the record array."
      • changedInput schema / properties / config / description
        Previous value: -"mode=create with provider: catalog required_fields. Stored encrypted, never readable again."New value: +"create with provider: catalog required_fields; stored encrypted."
      • changedInput schema / properties / connection_id / description
        Previous value: -"Connection id from mode=list; required for configure/pause/resume/sync_now/delete."New value: +"Connection id (mode=list); required by configure/pause/resume/sync_now/delete."
      • changedInput schema / properties / json_paths / description
        Previous value: -"create/configure: dotted paths into the POSTed payload's JSON body."New value: +"create/configure: dotted paths into the payload body."
      • changedInput schema / properties / provider / description
        Previous value: -"mode=create: NATIVE provider from catalog native_providers. Pair with config."New value: +"mode=create: NATIVE provider from catalog native_providers (with config)."
      • changedInput schema / properties / pull_tool / description
        Previous value: -"composio_create, DAILY apps: read-only action from composio_actions."New value: +"composio_create: read-only daily action from composio_actions."
      • changedInput schema / properties / rate_limit / description
        Previous value: -"create/configure: max requests per minute accepted. Default 100."New value: +"create/configure: max requests/min accepted. Default 100."
      • changedInput schema / properties / skip_attribution / description
        Previous value: -"mode=create: true for anonymous public-forum sources with no attributable customer."New value: +"create: anonymous public-forum sources have no attributable customer."
      • changedInput schema / properties / toolkit / description
        Previous value: -"composio_actions / composio_create: Composio app slug (e.g. \"freshdesk\", \"jira\")."New value: +"composio action modes: Composio app slug (e.g. \"freshdesk\")."
    • Changedatisbo_decide13 fields changed
      • changedInput schema / properties / claim_id / description
        Previous value: -"Claim UUID (from a name: atisbo_lookup mode=resolve)"New value: +"Claim UUID (atisbo_lookup mode=resolve)"
      • changedInput schema / properties / criteria_left_out / description
        Previous value: -"update_solution: criteria left OUT (ADR-234); only with LAUNCHED."New value: +"Criteria left OUT (ADR-234); only with LAUNCHED."
      • changedInput schema / properties / discard_reason / description
        Previous value: -"update_solution: divergence loser (ADR-224); CANCELED required."New value: +"Divergence loser (ADR-224); CANCELED required."
      • changedInput schema / properties / effort / description
        Previous value: -"Size estimate, person-weeks; sizing only, never affects order."New value: +"Size estimate, person-weeks (never affects order)."
      • changedInput schema / properties / force_reassign / description
        Previous value: -"dispatch_solution: audited takeover of a Solution in progress."New value: +"Audited takeover of a Solution in progress."
      • changedInput schema / properties / is_deal_breaker / description
        Previous value: -"deal_breaker: true = confirm/flag, false = reject/unflag."New value: +"true = confirm/flag, false = reject/unflag."
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "triage",
        -  "rename_claim",
        -  "delete_claim",
        -  "combine_claims",
        -  "reassign_snippet",
        -  "create_claim_from_snippet",
        -  "split_snippet",
        -  "create_solution",
        -  "create_living_doc",
        -  "update_solution",
        -  "dispatch_solution",
        -  "record_outcome",
        -  "delete_solution",
        -  "apply_solution_spec",
        -  "update_strategy",
        -  "log_decision",
        -  "update_artefact_schedule",
        -  "create_solution_doc",
        -  "deal_breaker",
        -  "declare_pm_exception",
        -  "delete_knowledge",
        -  "set_knowledge_category",
        -  "set_claim_review_status",
        -  "set_snippet_status",
        -  "check_coverage",
        -  "mark_reviewed",
        -  "validate_delivery",
        -  "deliver"
        -]New value: +[
        +  "triage",
        +  "rename_claim",
        +  "delete_claim",
        +  "combine_claims",
        +  "reassign_snippet",
        +  "create_claim_from_snippet",
        +  "split_snippet",
        +  "create_solution",
        +  "create_living_doc",
        +  "update_solution",
        +  "dispatch_solution",
        +  "record_outcome",
        +  "delete_solution",
        +  "apply_solution_spec",
        +  "update_strategy",
        +  "log_decision",
        +  "update_artefact_schedule",
        +  "create_solution_doc",
        +  "deal_breaker",
        +  "declare_pm_exception",
        +  "delete_knowledge",
        +  "set_knowledge_category",
        +  "set_claim_review_status",
        +  "set_snippet_status",
        +  "snooze_claim",
        +  "check_coverage",
        +  "mark_reviewed",
        +  "validate_delivery",
        +  "deliver"
        +]
      • changedInput schema / properties / pm_exception_reason / description
        Previous value: -"update_solution / declare_pm_exception: a PERSON's decision; ops in operational_block_reason."New value: +"a PERSON's choice + alternatives; blockers → operational_block_reason."
      • changedInput schema / properties / priority_boost / description
        Previous value: -"update_solution: PM multiplier over evidence-weighted priority."New value: +"PM multiplier over evidence-weighted priority."
      • changedInput schema / properties / replace_confirmed / description
        Previous value: -"validate_delivery / deliver: true confirms replacing a longer recorded matrix with a shorter one."New value: +"true confirms replacing a longer recorded delivery matrix with a shorter one."
      • changedInput schema / properties / risk_notes / description
        Previous value: -"check_coverage: unresolved contradictions acknowledged by id."New value: +"Unresolved contradictions acknowledged by id."
      • addedInput schema / properties / snooze_indefinite
        Added value: +{
        +  "description": "until NEW EVIDENCE (not a timer).",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / target_claim_id / description
        Previous value: -"Claim UUID (from a name: atisbo_lookup mode=resolve)"New value: +"Claim UUID (atisbo_lookup mode=resolve)"
    • Changedatisbo_lookup18 fields changed
      • changedInput schema / properties / action_cursor / description
        Previous value: -"work_queue action_queue cursor; restart at page 1 after a mutation."New value: +"work_queue action_queue cursor; restart after mutations."
      • addedInput schema / properties / agent_name
        Added value: +{
        +  "description": "solutions: rows HELD by this agent.",
        +  "maxLength": 120,
        +  "type": "string"
        +}
      • changedInput schema / properties / claim_id / description
        Previous value: -"Claim UUID (from a name: atisbo_lookup mode=resolve)"New value: +"Claim UUID (atisbo_lookup mode=resolve)"
      • changedInput schema / properties / command_id / description
        Previous value: -"receipts: probe ONE write — the exact key on a listed receipt; omit for your 25 latest."New value: +"receipts: probe one write by a listed receipt key; omit = latest 25."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor from a previous response."New value: +"Cursor from a prior response."
      • changedInput schema / properties / depth / description
        Previous value: -"summary (alias: brief) = compact fields; work = full context (default)."New value: +"summary=compact; work=full (default); evidence (claims)=evidence+decisions, no score internals."
      • changedInput schema / properties / depth / enum
        Previous value: -[
        -  "summary",
        -  "work"
        -]New value: +[
        +  "summary",
        +  "work",
        +  "evidence"
        +]
      • changedInput schema / properties / entity / description
        Previous value: -"get: which entity kind the id field carries. Omit; the id field names it."New value: +"get: which kind the id field names."
      • changedInput schema / properties / evidence_limit / description
        Previous value: -"get entity=claim: evidence rows on page one (1–25); cursor reaches the rest."New value: +"get claim: evidence page one (1–25); cursor for the rest."
      • changedInput schema / properties / mode / description
        Previous value: -"Named by its enum value; notes per mode in meta.guidance."New value: +"Named by its enum value (notes: meta.guidance)."
      • changedInput schema / properties / ref / description
        Previous value: -"open: a handle ref (claim:UUID, snippet://UUID)."New value: +"open: handle ref (claim:UUID, snippet://UUID)."
      • changedInput schema / properties / review_kind / description
        Previous value: -"unreviewed only (see atisbo_decide mode=mark_reviewed)."New value: +"unreviewed only — see atisbo_decide mark_reviewed."
      • changedInput schema / properties / scope_id / description
        Previous value: -"Scope UUID unless scope/scope_type is company/workspace."New value: +"Scope UUID (omit for company/workspace)."
      • changedInput schema / properties / scope_type / description
        Previous value: -"Alias of scope (either name works); workspace is treated as company."New value: +"Alias of scope; workspace=company."
      • changedInput schema / properties / sort_by / description
        Previous value: -"Solution order (priority = evidence-weighted × boost)."New value: +"Solution order (evidence-weighted × boost)."
      • changedInput schema / properties / state / description
        Previous value: -"work tokens (todo=DESIGNING, active=agent-consumable) or post-launch kinds."New value: +"work tokens (todo=DESIGNING); post-launch kinds."
      • addedInput schema / properties / triage_outcome
        Added value: +{
        +  "description": "claims: triage verdict; review=pending; processing=in-flight.",
        +  "enum": [
        +    "processing",
        +    "review",
        +    "signal",
        +    "noise"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / view / description
        Previous value: -"work_queue: one whole bucket by whose move it is."New value: +"work_queue: ONE bucket, complete."
    • Changedatisbo_map4 fields changed
      • changedInput schema / properties / binding_id / description
        Previous value: -"metric_update: binding to update (atisbo_lookup mode=get, metrics[].id)."New value: +"metric_update: binding id (atisbo_lookup mode=get, metrics[].id)."
      • changedInput schema / properties / claim_id / description
        Previous value: -"Claim UUID (from a name: atisbo_lookup mode=resolve)"New value: +"Claim UUID (atisbo_lookup mode=resolve)"
      • changedInput schema / properties / historical_data / description
        Previous value: -"metric_update: full series REPLACEMENT (omit to append current_value)."New value: +"metric_update: full series REPLACEMENT (omit = append now)."
      • changedInput schema / properties / updated_at / description
        Previous value: -"metric_update: binding updated_at from your last read (stale edits fail)."New value: +"metric_update: updated_at from your last read (stale edits fail)."
    • Changedatisbo_orient3 fields changed
      • changedInput schema / properties / depth / description
        Previous value: -"summary (alias: brief) = compact fields; work = full context (default)."New value: +"summary=compact; work=full (default)."
      • changedInput schema / properties / mode / description
        Previous value: -"snapshot (alias: workspace) uses task; whats_new uses since_checkpoint; strategy/integrations need no IDs."New value: +"snapshot (alias: workspace)=task; whats_new=since_checkpoint; strategy/integrations none."
      • changedInput schema / properties / task / description
        Previous value: -"triage = untriaged inbox; planning = confirmed opportunities by priority; operations = signals & integrations; executive = KPIs & strategy."New value: +"triage=untriaged inbox; planning=confirmed opportunities by priority; operations=signals & integrations; executive=KPIs & strategy."
    • Changedatisbo_support4 fields changed
      • changedInput schema / properties / area / description
        Previous value: -"Narrows which checks run. Omit when unsure — the full set costs the same round-trip."New value: +"Narrows the checks. Omit when unsure — the full set costs the same."
      • changedInput schema / properties / observed_error / description
        Previous value: -"The failing error string VERBATIM — diagnostics cannot see the failed call, so this is often the only evidence."New value: +"The failing error VERBATIM — diagnostics cannot see the failed call; usually the only evidence."
      • changedInput schema / properties / problem / description
        Previous value: -"What went wrong, in your words. Do NOT paste customer feedback, document bodies or credentials — this string IS filed if a report is created."New value: +"What went wrong, in your words. No customer feedback, docs or credentials — the string IS filed in reports."
      • changedInput schema / properties / share_report / description
        Previous value: -"File a verdict-only report when the problem is not caller-side; false = diagnose only."New value: +"File a verdict-only report when the fault is not caller-side; false = diagnose."
  6. 3 tool updates
    • Changedatisbo_capture10 fields changed
      • changedInput schema / properties / change_summary / description
        Previous value: -"patch_artefact: REQUIRED top-level change_summary (or note) — one sentence of what changed."New value: +"patch_artefact: REQUIRED — change_summary (or note), one sentence of what changed."
      • changedInput schema / properties / claim_id / description
        Previous value: -"knowledge: alias for scope_id (scope_type=claim)."New value: +"knowledge: alias for scope_id."
      • changedInput schema / properties / corrects_prior_evidence / description
        Previous value: -"signal: TRUE to CORRECT prior evidence, not repeat it (skips dedup; when/why in meta.guidance)."New value: +"signal: CORRECTS prior evidence, not a repeat (skips dedup; when/why in meta.guidance)."
      • changedInput schema / properties / dirty_event_id / description
        Previous value: -"Dirty event resolved on success"New value: +"Dirty event resolved"
      • changedInput schema / properties / modality / description
        Previous value: -"Q=Quote, O=Observation, M=Metric; inferred if omitted."New value: +"Q=Quote, O=Observation, M=Metric; else inferred."
      • changedInput schema / properties / node_id / description
        Previous value: -"knowledge: alias for scope_id (scope_type=node)."New value: +"knowledge: alias for scope_id."
      • changedInput schema / properties / note / description
        Previous value: -"Why it matters (signal)."New value: +"Why it matters."
      • changedInput schema / properties / scope_id / description
        Previous value: -"Target scope UUID; required for node/claim/solution/map."New value: +"Target scope UUID; required for node/claim/map. On scope_type=solution (mode=knowledge), omit it or pass \"auto\": Atisbo routes the detail to an open Solution."
      • changedInput schema / properties / scope_type / description
        Previous value: -"Scope kind; company = active workspace."New value: +"Scope kind; company = workspace."
      • changedInput schema / properties / solution_id / description
        Previous value: -"knowledge: alias for scope_id (scope_type=solution)."New value: +"knowledge: alias for scope_id."
    • Changedatisbo_decide18 fields changed
      • changedInput schema / properties / agent_name / description
        Previous value: -"Signs comments/assignments/decisions. Default \"Agent\"."New value: +"Signs comments/assignments/decisions."
      • changedInput schema / properties / comment / description
        Previous value: -"update_solution: thread report as the agent."New value: +"update_solution / deliver: thread report as the agent."
      • addedInput schema / properties / coverage_updates
        Added value: +{
        +  "description": "deliver: buckets snippets/ideas/claims."
        +}
      • changedInput schema / properties / covered_ideas / description
        Previous value: -"check_coverage: idea ids from the coverage map."New value: +"check_coverage: idea ids in the coverage map."
      • changedInput schema / properties / criteria_left_out_reason / description
        Previous value: -"Why each criterion is out; required with criteria_left_out."New value: +"Why each is out; required with criteria_left_out."
      • changedInput schema / properties / decision_type / description
        Previous value: -"log_decision: e.g. product_decision, note (full list in the error)."New value: +"log_decision: e.g. product_decision, note; full list in the error."
      • changedInput schema / properties / discard_reason / description
        Previous value: -"update_solution: divergence loser (ADR-224); needs CANCELED."New value: +"update_solution: divergence loser (ADR-224); CANCELED required."
      • changedInput schema / properties / effort / description
        Previous value: -"Size estimate, person-weeks. Sizing only, never affects order."New value: +"Size estimate, person-weeks; sizing only, never affects order."
      • changedInput schema / properties / matrix / description
        Previous value: -"validate_delivery: one entry per success criterion."New value: +"validate_delivery / deliver: one entry per criterion."
      • changedInput schema / properties / matrix / items / properties / criterion / description
        Previous value: -"Success criterion, in the living doc's words where possible."New value: +"Success criterion, in the living doc's words."
      • changedInput schema / properties / matrix / items / properties / evidence / description
        Previous value: -"What you did and saw — required in spirit for *_verified."New value: +"What you did and saw; required in spirit for *_verified."
      • changedInput schema / properties / matrix / items / properties / note / description
        Previous value: -"Required for an incomplete to be accepted: alternative method, or blocker."New value: +"Required for incomplete: alternative method, or blocker."
      • changedInput schema / properties / mission / description
        Previous value: -"update_strategy: informational only. ≤2000."New value: +"update_strategy: informational only."
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "triage",
        -  "rename_claim",
        -  "delete_claim",
        -  "combine_claims",
        -  "reassign_snippet",
        -  "create_claim_from_snippet",
        -  "split_snippet",
        -  "create_solution",
        -  "create_living_doc",
        -  "update_solution",
        -  "dispatch_solution",
        -  "record_outcome",
        -  "delete_solution",
        -  "apply_solution_spec",
        -  "update_strategy",
        -  "log_decision",
        -  "update_artefact_schedule",
        -  "create_solution_doc",
        -  "deal_breaker",
        -  "declare_pm_exception",
        -  "delete_knowledge",
        -  "set_knowledge_category",
        -  "set_claim_review_status",
        -  "set_snippet_status",
        -  "check_coverage",
        -  "mark_reviewed",
        -  "validate_delivery"
        -]New value: +[
        +  "triage",
        +  "rename_claim",
        +  "delete_claim",
        +  "combine_claims",
        +  "reassign_snippet",
        +  "create_claim_from_snippet",
        +  "split_snippet",
        +  "create_solution",
        +  "create_living_doc",
        +  "update_solution",
        +  "dispatch_solution",
        +  "record_outcome",
        +  "delete_solution",
        +  "apply_solution_spec",
        +  "update_strategy",
        +  "log_decision",
        +  "update_artefact_schedule",
        +  "create_solution_doc",
        +  "deal_breaker",
        +  "declare_pm_exception",
        +  "delete_knowledge",
        +  "set_knowledge_category",
        +  "set_claim_review_status",
        +  "set_snippet_status",
        +  "check_coverage",
        +  "mark_reviewed",
        +  "validate_delivery",
        +  "deliver"
        +]
      • changedInput schema / properties / note / description
        Previous value: -"record_outcome narrative max 5000; triage/log_decision rationale max 2000."New value: +"record_outcome narrative 5000; triage/log_decision rationale 2000."
      • changedInput schema / properties / pm_exception_reason / description
        Previous value: -"update_solution / declare_pm_exception: a PERSON's decision; ops go in operational_block_reason."New value: +"update_solution / declare_pm_exception: a PERSON's decision; ops in operational_block_reason."
      • changedInput schema / properties / replace_confirmed / description
        Previous value: -"validate_delivery: true ONLY to confirm deliberately replacing a longer recorded matrix with a shorter one."New value: +"validate_delivery / deliver: true confirms replacing a longer recorded matrix with a shorter one."
      • changedInput schema / properties / roadmap / description
        Previous value: -"update_strategy: informational only. ≤5000."New value: +"update_strategy: informational only."
    • Changedatisbo_lookup1 field changed
      • changedInput schema / properties / entity / description
        Previous value: -"get: which entity kind the id field carries. Omit — the id field names the entity."New value: +"get: which entity kind the id field carries. Omit; the id field names it."
  7. 3 tool updates
    • Changedatisbo_decide6 fields changed
      • changedInput schema / properties / claim_id / description
        Previous value: -"Claim UUID — resolve names with atisbo_lookup mode=resolve first"New value: +"Claim UUID (from a name: atisbo_lookup mode=resolve)"
      • changedInput schema / properties / force_reassign / description
        Previous value: -"dispatch_solution: audited takeover of an in-progress Solution; omit refuses contested dispatch."New value: +"dispatch_solution: audited takeover of a Solution in progress."
      • changedInput schema / properties / pm_exception_reason / description
        Previous value: -"update_solution / declare_pm_exception: needs a PERSON decision; not ops (use operational_block_reason)."New value: +"update_solution / declare_pm_exception: a PERSON's decision; ops go in operational_block_reason."
      • addedInput schema / properties / pm_instruction
        Added value: +{
        +  "description": "update_strategy: the PM's request, quoted.",
        +  "maxLength": 1000,
        +  "type": "string"
        +}
      • changedInput schema / properties / solution_id / description
        Previous value: -"Solution UUID — resolve names with atisbo_lookup mode=resolve first"New value: +"Solution UUID (from a name or SEN-n: atisbo_lookup mode=resolve)"
      • changedInput schema / properties / target_claim_id / description
        Previous value: -"Claim UUID — resolve names with atisbo_lookup mode=resolve first"New value: +"Claim UUID (from a name: atisbo_lookup mode=resolve)"
    • Changedatisbo_lookup2 fields changed
      • changedInput schema / properties / claim_id / description
        Previous value: -"Claim UUID — resolve names with atisbo_lookup mode=resolve first"New value: +"Claim UUID (from a name: atisbo_lookup mode=resolve)"
      • changedInput schema / properties / solution_id / description
        Previous value: -"Solution UUID — resolve names with atisbo_lookup mode=resolve first"New value: +"Solution UUID (from a name or SEN-n: atisbo_lookup mode=resolve)"
    • Changedatisbo_map1 field changed
      • changedInput schema / properties / claim_id / description
        Previous value: -"Claim UUID — resolve names with atisbo_lookup mode=resolve first"New value: +"Claim UUID (from a name: atisbo_lookup mode=resolve)"
  8. 1 tool update
    • Changedatisbo_support1 field changed
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "outcome",
        -  "headline",
        -  "explanation",
        -  "findings",
        -  "next_steps",
        -  "known_issue",
        -  "report_id",
        -  "reported"
        -]New value: +[
        +  "outcome",
        +  "headline",
        +  "explanation",
        +  "findings",
        +  "next_steps",
        +  "reported"
        +]
  9. 1 tool update
    • Changedatisbo_capture4 fields changed
      • changedInput schema / properties / capture_mode / description
        Previous value: -"Knowledge routing; default signals_only."New value: +"Knowledge routing."
      • addedInput schema / properties / change_summary / description
        Added value: +"patch_artefact: REQUIRED top-level change_summary (or note) — one sentence of what changed."
      • changedInput schema / properties / client_request_id / description
        Previous value: -"signal: retry key; resend the SAME key to retry."New value: +"signal: retry key."
      • changedInput schema / properties / corrects_prior_evidence / description
        Previous value: -"signal: CORRECTS prior evidence, not repeats it. Records WHICH evidence it corrects (echoed as corrects) and attaches the snippet to that claim."New value: +"signal: TRUE to CORRECT prior evidence, not repeat it (skips dedup; when/why in meta.guidance)."
  10. 2 tool updates
    • Changedatisbo_capture1 field changed
      • changedInput schema / properties / items / description
        Previous value: -"signal_batch, max 100."New value: +"Batch; max 100 items."
    • Changedatisbo_lookup2 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Max results; delegates clamp per page. Page with next_cursor."New value: +"Max results (1–200); page with next_cursor."
      • addedInput schema / properties / limit / maximum
        Added value: +200
  11. 2 tool updates
    • Changedatisbo_analyze5 fields changed
      • changedOutput schema / properties / data / properties / artifact / properties / artifact_data / properties / resolved_query / required
        Previous value: -[
        -  "subject",
        -  "domain",
        -  "time_range",
        -  "group_by",
        -  "metrics",
        -  "analysis",
        -  "filters",
        -  "resolved_nodes"
        -]New value: +[
        +  "subject",
        +  "time_range",
        +  "group_by",
        +  "metrics",
        +  "analysis",
        +  "filters",
        +  "resolved_nodes"
        +]
      • changedOutput schema / properties / data / properties / resolved_query / required
        Previous value: -[
        -  "subject",
        -  "domain",
        -  "time_range",
        -  "group_by",
        -  "metrics",
        -  "analysis",
        -  "filters",
        -  "resolved_nodes"
        -]New value: +[
        +  "subject",
        +  "time_range",
        +  "group_by",
        +  "metrics",
        +  "analysis",
        +  "filters",
        +  "resolved_nodes"
        +]
      • changedOutput schema / properties / data / properties / stream / required
        Previous value: -[
        -  "checkpoint",
        -  "has_more",
        -  "next_cursor"
        -]New value: +[
        +  "checkpoint",
        +  "has_more"
        +]
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "resolved_query",
        -  "summary",
        -  "dataset",
        -  "sources",
        -  "warnings",
        -  "assumptions",
        -  "artifact"
        -]New value: +[
        +  "resolved_query",
        +  "summary",
        +  "dataset",
        +  "sources",
        +  "warnings",
        +  "assumptions"
        +]
      • changedOutput schema / properties / meta / required
        Previous value: -[
        -  "contract_version",
        -  "tenant_plan",
        -  "workspace_id",
        -  "workspace_name",
        -  "persona",
        -  "scoring_model",
        -  "gates_applied",
        -  "timestamp"
        -]New value: +[
        +  "tenant_plan",
        +  "workspace_id",
        +  "workspace_name",
        +  "timestamp"
        +]
    • Changedatisbo_support1 field changed
      • changedOutput schema / properties / meta / required
        Previous value: -[
        -  "contract_version",
        -  "tenant_plan",
        -  "workspace_id",
        -  "workspace_name",
        -  "persona",
        -  "scoring_model",
        -  "gates_applied",
        -  "timestamp"
        -]New value: +[
        +  "tenant_plan",
        +  "workspace_id",
        +  "workspace_name",
        +  "timestamp"
        +]
  12. 1 tool update
    • Changedatisbo_map6 fields changed
      • changedInput schema / properties / direction / description
        Previous value: -"regroup: broader merges similar claims; specific splits them."New value: +"regroup: broader merges; specific splits."
      • changedInput schema / properties / note / description
        Previous value: -"link_claims: why these claims sit under this driver; stored on every link."New value: +"link_claims: rationale stored on every link."
      • changedInput schema / properties / preview / description
        Previous value: -"regroup: read-only preview. ALWAYS preview before executing."New value: +"regroup: read-only preview — ALWAYS run it first."
      • changedInput schema / properties / regroup_level / description
        Previous value: -"regroup direction=broader: merge aggressiveness."New value: +"regroup broader: merge aggressiveness."
      • changedInput schema / properties / target_threshold / description
        Previous value: -"regroup direction=specific: split similarity threshold."New value: +"regroup direction=specific: split threshold."
      • addedInput schema / properties / workspace_wide
        Added value: +{
        +  "description": "regroup: explicit YES to run WORKSPACE-WIDE (refused without it).",
        +  "type": "boolean"
        +}
  13. 3 tool updates
    • Changedatisbo_connect1 field changed
      • addedOutput schema / properties / result
        Added value: +{}
    • Changedatisbo_decide1 field changed
      • removedOutput schema / required
        Removed value: -[
        -  "result"
        -]
    • Changedatisbo_map1 field changed
      • removedOutput schema / required
        Removed value: -[
        -  "result"
        -]
  14. 6 tool updates
    • Changedatisbo_capture1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "result": {}
        +  },
        +  "required": [
        +    "result"
        +  ],
        +  "type": "object"
        +}
    • Changedatisbo_connect1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {},
        +  "type": "object"
        +}
    • Changedatisbo_decide1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "result": {}
        +  },
        +  "required": [
        +    "result"
        +  ],
        +  "type": "object"
        +}
    • Changedatisbo_lookup1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "result": {}
        +  },
        +  "required": [
        +    "result"
        +  ],
        +  "type": "object"
        +}
    • Changedatisbo_map1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "result": {}
        +  },
        +  "required": [
        +    "result"
        +  ],
        +  "type": "object"
        +}
    • Changedatisbo_orient1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "result": {}
        +  },
        +  "required": [
        +    "result"
        +  ],
        +  "type": "object"
        +}
  15. 2 tool updates
    • Changedatisbo_capture1 field changed
      • removedInput schema / properties / change_summary / description
        Removed value: -"Artefact change summary."
    • Changedatisbo_decide3 fields changed
      • changedInput schema / properties / category / description
        Previous value: -"set_knowledge_category: free-form label; pass null to clear."New value: +"label to set; null clears."
      • changedInput schema / properties / id / description
        Previous value: -"delete_knowledge / set_knowledge_category: doc id."New value: +"delete_knowledge/set_knowledge_category doc id."
      • addedInput schema / properties / spec / properties / successCriteria / description
        Added value: +"What must be TRUE at launch. Template: implementation_context."
  16. 1 tool update
    • Changedatisbo_capture4 fields changed
      • addedInput schema / properties / body
        Added value: +{}
      • changedInput schema / properties / content / description
        Previous value: -"Knowledge/artefact content."New value: +"Knowledge content."
      • addedInput schema / properties / message
        Added value: +{}
      • changedInput schema / properties / title / description
        Previous value: -"Knowledge/evidence title."New value: +"Knowledge title."
  17. 1 tool update
    • Changedatisbo_decide1 field changed
      • addedInput schema / properties / replace_confirmed
        Added value: +{
        +  "description": "validate_delivery: true ONLY to confirm deliberately replacing a longer recorded matrix with a shorter one.",
        +  "type": "boolean"
        +}
  18. 1 tool update
    • Changedatisbo_capture2 fields changed
      • changedInput schema / properties / corrects_prior_evidence / description
        Previous value: -"signal: CORRECTS prior evidence, not repeats it."New value: +"signal: CORRECTS prior evidence, not repeats it. Records WHICH evidence it corrects (echoed as corrects) and attaches the snippet to that claim."
      • addedInput schema / properties / items / items / properties / corrects_prior_evidence
        Added value: +{
        +  "type": "boolean"
        +}
  19. 1 tool update
    • Changedatisbo_lookup1 field changed
      • addedInput schema / properties / view
        Added value: +{
        +  "description": "work_queue: one whole bucket by whose move it is.",
        +  "enum": [
        +    "executable",
        +    "propose",
        +    "needs_pm"
        +  ],
        +  "type": "string"
        +}

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Local-first MCP tools for AI-assisted work receipts, workspace maps, routing ledgers, measured verdicts, and shared state verification across the five Project Telos flagships.
    50
    46 npm
    4
    Functional Source , Version 1.1, ALv2 Future
  • A
    license
    Not graded
    quality
    B
    maintenance
    Turns a one-person, multi-project workspace into state an agent can reason over, exposing live git status, Kanban boards, tasks, standups, and production health as queryable tools via MCP.
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Self-hosted AI workspace exposing semantic document search (RAG via Qdrant and Apache Tika), long-term user memories, and multi-provider AI chat as MCP tools and resources.
    201
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources