Skip to content

Fallout.Extensions.MCP-Server: ship an MCP server as a standalone product #646

Description

@ChrisonSimtian

Problem

The only way for an AI agent to drive Fallout today is to run the CLI and parse console text. MCP (Model Context Protocol, the standard interface agents use to reach external tools) would let an agent call typed operations instead. Nothing in this repository references MCP.

#240 (project-local AI tooling config) covers consuming MCP servers inside this repository, which is the opposite direction from shipping one.

Outcome

A standalone product, Fallout.Extensions.MCP-Server, in its own repository alongside the other extension products such as Fallout.Extensions.VSCode. It exposes Fallout's build model and run results as MCP tools.

Proposed tools, each a thin layer over CLI work tracked separately in this milestone:

  • describe — the build model as data
  • plan — what a target would run, without running it
  • run — execute a target, with the effect grant passed explicitly
  • last_run — read the durable run summary

Acceptance criteria

  • New repository Fallout-build/Fallout.Extensions.MCP-Server, C#, built on the official ModelContextProtocol NuGet package
  • Server locates and loads a Fallout build project in a given directory
  • describe, plan, run and last_run implemented, with run gated on an explicit effect grant
  • Shipped as something a user can install and register with an MCP client
  • Versioned independently of the Fallout host

Notes

Build order matters: the describe --json command and the durable run summary are the data layer this sits on. Building the server first would mean screen-scraping console output, which is the problem this milestone exists to remove.

The official C# SDK is ModelContextProtocol, maintained in collaboration with Microsoft, so this product stays on the C# stack. The VSCode extension is TypeScript out of necessity; this one is not.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesttarget/backlogNo committed release year; long-tail / demand-driven

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions