bcquality/custom/knowledge/mcp/mcp-tool-invocation-must-be-documented.md
Michael Dieringer dd5637b1db Custom-laget bestaar nu begge CI-checks: 72 validator-fejl -> 0
Normalisering af alle 39 custom knowledge-filer til READ-kontraktens
skema (validate_frontmatter.py + Test-KnowledgeIndex.ps1 begge groenne):

- R01/R02: 28 filer manglede frontmatter eller brugte aeldre skemaer
  (title/category/severity/rule-id m.fl.) - alle har nu praecis de 6
  kraevede noegler; keywords haandskrevet pr. fil da de driver
  worklist-selektionen i INDEX/knowledge-index
- R09: manglende Description-sektion - regel-agtige foersteoverskrifter
  (Core Rule/Rule/Regel/Core Principle) omdoebt, eller sektion indsat
  efter titlen hvor intro-tekst fandtes
- R10: fenced code blocks konverteret til 4-space indrykkede blokke
  i alle filer (indhold uaendret)
- R11: 4 filer over 100 linjer fortaettet redaktionelt uden semantisk
  tab (ai-eval-scores 143->100, git-lifecycle 121->97,
  permission-sets 113->99, test-feature-scenario-tags 105->91)
- R05: AL0197->al0197, add_repo->add-repo; keyword-lister trimmet
  til maks 10

Ingen regler er fjernet eller aendret i betydning - kun form.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-01 23:47:31 +02:00

51 lines
1.8 KiB
Markdown

---
bc-version: [all]
domain: mcp
keywords: [mcp, tool-invocation, documentation, transparency]
technologies: [al]
countries: [w1]
application-area: [all]
---
# MCP tool documentation must include the invocation model
## Description
An MCP agent's documentation must describe the actual invocation model — including
whether a tool call is direct or wrapped via a generic action tool with a parameter value.
## Why
MCP servers may expose a small set of generic tools (e.g. `bc_actions_invoke`) that
accept an action name as a parameter, rather than exposing each action as a named tool.
When documentation lists action names (e.g. `List_Projects_PAG6102901`) without
specifying that they are parameter values — not direct tool names — agents attempt to
call them directly, fail with `InputValidationError`, and spend time diagnosing a
documentation gap rather than a code error.
## What to document
For each MCP capability, the documentation must state:
- The actual tool name to call (e.g. `bc_actions_invoke`)
- How to discover available actions (e.g. `bc_actions_search`)
- How to inspect an action's schema before invoking (e.g. `bc_actions_describe`)
- The parameter that carries the action name (e.g. `ActionName`)
## Example — correct
> Tools are called via `bc_actions_invoke` with `ActionName` as the parameter.
> Use `bc_actions_search` to discover available actions.
> Use `bc_actions_describe` to inspect a specific action's schema before calling.
## Example — incorrect
> Call `List_Projects_PAG6102901` to list active projects.
This implies a direct tool call. If `List_Projects_PAG6102901` is an `ActionName`
value passed to `bc_actions_invoke`, this documentation will cause agents to fail.
## Applies to
Any CURABIS agent documentation that describes how to use an MCP tool.