MCP

La surface d’outils externe

Sept outils, quatre consignes et les ressources de mission qu’un client tiers voit, engendrés depuis le cœur, jamais redits.

DISPONIBLEÉcrit et couvert par des tests, pas encore observé en exécution réelleDeskworth · publié · mis à jour · 4 sources · Deskworth OS 0.0.48

Livré dans la construction courante. Vous pouvez le faire sur votre machine aujourd’hui.

Voici la surface qu’un client externe voit. Ce n’est pas le serveur d’outils qu’emploient les cartes : celui-là sert vingt-six outils financiers sur l’adresse de bouclage, filtrés par capacité. Celui-ci sert sept gestes de bureau sur l’entrée et la sortie standard.

Sept, et pas davantage. Chacun correspond à quelque chose que l’opérateur pourrait faire dans l’application. Une surface plus large donnerait à un client des pouvoirs que l’écran lui-même n’a pas, et chaque outil ajouté est un outil qu’un tiers peut appeler.

#Trois règles que la surface suit

  • Aucun outil ne prend de chemin. Un client est un tiers ; ce qu’il peut nommer doit être borné, et un test le tient.
  • Un artefact rend son résumé, sa taille, son empreinte et une adresse de ressource, jamais ses octets. Un classeur inséré dans un résultat d’outil noierait le contexte du client pour rien, puisqu’il a déjà l’adresse.
  • Une consigne est choisie par l’utilisateur, jamais par le modèle 4. Chacune énonce ce qu’elle refuse d’inventer : sans cette phrase, un bureau comble un chiffre manquant par une estimation qui se lit comme un relevé.

#Ouvrir un bureau rend la main tout de suite

Un bureau travaille des minutes, pas des secondes. L’outil qui en ouvre un rend aussitôt un identifiant de mission ; le client interroge ensuite l’état et lit le résultat quand il est prêt. Un outil qui bloquerait le temps d’une mission expirerait dans tous les clients qui existent.

LimiteL’état reste « en file » tant que la fenêtre n’a pas dit avoir pris la mission, et passe à « démarrée » seulement après. En 0.0.24 rien n’envoyait cet accusé et toutes les missions restaient en file ; la fenêtre l’envoie désormais au moment où elle prend la demande, plutôt qu’à la fin du premier tour. Une mission encore en file veut dire que la fenêtre est fermée, en train de démarrer, ou occupée, l’outil préfère le dire que d’annoncer un démarrage qui n’a pas eu lieu.

#The surface

7 tools, 4 prompts and 4 resource templates, read from the core when this page was built. Nothing below is maintained by hand.

Deskworth-OS/src-tauri/src/mcp/externe.rs — outils(), prompts(), ressources(), PARLEES

Tools

deskworth_agents_list

List the specialist roles Deskworth can put on a desk, with what each one owns. Call this first: the roles decide what a mission can produce.

Parameters
None
deskworth_desk_start

Open a desk on a financial question. **Returns immediately** with a mission id — a desk runs for minutes, not seconds. Poll deskworth_desk_status with that id, then read deskworth_desk_result. The mission appears in the Deskworth feed, with its roles, sources and deliverables, exactly like one started from the app.

Parameters
instruction: string (required)
deskworth_desk_status

Where a mission stands: its roles, what each is doing, and whether anything is blocked. A blocked card names what is missing — that is an answer, not a failure.

Parameters
mission: string (required)
deskworth_desk_result

What the desk concluded, with its sources. Available once the mission is done; before that, status tells you what is still running.

Parameters
mission: string (required)
deskworth_desk_cancel

Stop a mission and everything it started. Providers are terminated, not left running.

Parameters
mission: string (required)
deskworth_artifacts_list

The files a mission produced — workbook, deck, memo — with their size, SHA-256 and the verdict of Deskworth's independent re-read.

Parameters
mission: string (required)
deskworth_artifact_get

One artifact: its structured summary, MIME type, size, SHA-256, sources, and a resource URI to read it. **Never the bytes** — a workbook inlined into a tool result would drown your context for no gain.

Parameters
mission: string (required) · name: string (required)

Prompts

A prompt is a menu entry the person picks, never the model. Each one states what it refuses to invent.

  • analyse_company, Analyse a company from its filings
  • investment_memo, Build an investment memo, with its limits stated
  • financial_model, Build a workbook with live formulas and reconciliation checks
  • risk_review, Review the risks and what would break the case

Resources

  • deskworth://mission/{mission}/status
  • deskworth://mission/{mission}/result
  • deskworth://mission/{mission}/manifest
  • deskworth://mission/{mission}/artifact/{nom}

Protocol revisions spoken

2026-07-28 · 2025-11-25 · 2025-06-18 · 2025-03-26, the first is offered by default, and the client’s own is reflected when the server knows it. That list is the correction of a real refusal: a version is negotiated, not imposed.

#Sources

  1. The external MCP surface, mirrored on this siteDeskworthinternal registry · mirror of mcp::externe, tools, prompts, resource templates, spoken revisions · lu 2026-09-10Document interne, non publié
  2. Deskworth OS, product state at 0.0.24, providers and MCPDeskworthinternal handover report · Deskworth OS 0.0.24 · commit produit fb53f44 · lu à d01b336 · publié 2026-09-10 · lu 2026-09-10Document interne, non publié
  3. Model Context Protocol, ToolsModel Context Protocol projectofficial documentation · revision 2026-07-28 · publié 2026-07-28 · lu 2026-09-10https://modelcontextprotocol.io/specification/2026-07-28/server/tools
  4. Model Context Protocol, PromptsModel Context Protocol projectofficial documentation · revision 2026-07-28 · publié 2026-07-28 · lu 2026-09-10https://modelcontextprotocol.io/specification/2026-07-28/server/prompts