79 lines
5.0 KiB
Markdown
79 lines
5.0 KiB
Markdown
---
|
|
name: shd-routing
|
|
description: Use for any request that asks SHD for data, a project operation, a module workflow, or a change to SHD records. Route the request to the narrowest existing SHD MCP tool and preserve server-side permissions.
|
|
metadata: modules=*
|
|
---
|
|
|
|
# SHD routing and safety
|
|
|
|
SHD MCP is the source of truth for live data, tool schemas, permissions,
|
|
organization/project scope, conflicts, idempotency, audit and persisted
|
|
readback. Do not invent fields, statuses, identifiers, routes or capabilities.
|
|
|
|
## Route the request
|
|
|
|
- Project list, project status, deadlines or project context: use the Projects
|
|
Core tools and the `shd-active-projects` or `shd-project-status` workflow.
|
|
- AirBase project-data questions and relationship lookups: use AirBase tools
|
|
and `shd-airbase-query`. For duplicates, broken links or a broader
|
|
data-quality audit, use `shd-airbase-audit`.
|
|
- AirBase schema, record, cell, field access, external table, public table
|
|
access or import changes: use `shd-airbase-manage`.
|
|
- Tasks, task projects, task status or task dates: use Tasks tools and the
|
|
`shd-task-workflow` workflow.
|
|
- Project files and paths: use Files tools and the `shd-project-files` workflow.
|
|
- Discussions, channels, topics, messages or attachments: use Discussions tools and the `shd-discussions` workflow.
|
|
- Documents, templates, revisions, PDFs or publication links: use Documents tools and the `shd-documents` workflow.
|
|
- Organizations, members, invitations, roles or two-factor policy: use Organizations tools and the `shd-organizations-acl` workflow.
|
|
- Notifications, preferences or read state: use Notifications tools and the `shd-notifications` workflow.
|
|
- Services, versions, approvals or site publications: use Services tools and
|
|
the `shd-services` workflow.
|
|
- Short links, public aliases, rotation or revocation: use Short Links tools
|
|
and the `shd-short-links` workflow.
|
|
- Global System Base tables or records: use System Base tools and the
|
|
`shd-system-base` workflow. Do not substitute AirBase tools.
|
|
- Authenticated profile or OIDC link changes: use Profile tools and the
|
|
`shd-auth-profile` workflow.
|
|
- Inventory, stock, assets, procurement or stocktakes: use Inventory tools and the `shd-inventory` workflow.
|
|
- Agents, controllers, diagnostics, tunnels or network access: use Agents tools and the `shd-agents-operations` workflow.
|
|
- Controller devices, current states, presence/history or sensor statistics: use the controller-integrations source tools; in a UI-capable host call the matching controller render tool after the data tool and before the final response (`shd_render_controller_devices_widget`, `shd_render_controller_live_state_widget`, `shd_render_controller_history_widget` or `shd_render_controller_statistics_widget`). For one statistics series, render the final result once; for several explicitly requested series, collect them into one `data.series` collection and render one summary widget, not one widget per retry, metric field or inventory match.
|
|
- Status-page monitors, history, groups or incidents: use Status Page tools and the `shd-status-page` workflow.
|
|
- Realtime sessions, event cursors or historical activity: use Realtime tools and the `shd-realtime-activity` workflow.
|
|
- Terms documents, revisions, completeness or contract discussions: use Terms tools and the `shd-terms-contracts` workflow.
|
|
- Linked Gitea issues, labels, comments or attachments: use Gitea tools and the `shd-gitea` workflow.
|
|
- Finance or CRM records: use the specific module tools and the
|
|
`shd-finance-crm` workflow; use project context for a high-level overview.
|
|
- Finance reconciliation, balances, settlements or audit history:
|
|
`shd-financial-account-audit`.
|
|
- Proposals, estimates, quotes or estimate-document contracts:
|
|
`shd-estimate-management`.
|
|
- Scheduling, event types, slots or bookings: `shd-event-positions`.
|
|
- Wiki, notes, pages, revisions or note databases: `shd-wiki-management`.
|
|
- Entity matching or possible duplicates: `shd-entity-resolution`.
|
|
- Analytics, comparisons, trends or reports: `shd-analytics`.
|
|
- A multi-record change: use `shd-safe-bulk-change` before any mutation.
|
|
|
|
Use `shd_capabilities` only when the available module or permission boundary is
|
|
unclear. If a tool or module is unavailable, report that fact instead of
|
|
falling back to an undocumented endpoint.
|
|
|
|
## Read-first rule
|
|
|
|
For every write, first read the target and its relevant schema or metadata.
|
|
Only perform a mutation when the user explicitly requested that mutation. A
|
|
request to inspect, summarize, compare, audit or suggest is not permission to
|
|
write.
|
|
|
|
Preserve the exact server result. Separate confirmed values from inference,
|
|
and include affected identifiers, conflicts, validation errors and final
|
|
readback when the server returns them.
|
|
|
|
## Scope and secrets
|
|
|
|
Never ask for or expose access tokens, passwords, cookies, private keys, raw
|
|
public-link bearer tokens or integration secrets. Never use a user-provided
|
|
project name as an identifier when SHD has not resolved it to a returned
|
|
project code or ID.
|
|
|
|
See `references/module-map.md` for the current high-level routing map.
|