# `Excessibility.MCP.Server`
[🔗](https://github.com/lessthanseventy/excessibility/blob/v0.18.1/lib/excessibility/mcp/server.ex#L1)

MCP server for excessibility tools, resources, and prompts.

Implements the MCP protocol for stdio transport:
- JSON-RPC 2.0 message handling
- initialize/initialized handshake
- tools/list and tools/call
- resources/list and resources/read
- prompts/list and prompts/get

## Usage

    Excessibility.MCP.Server.start()

Or via mix:

    mix run --no-halt -e "Excessibility.MCP.Server.start()"

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `handle_rpc`

Handles a JSON-RPC message and returns a response.
Useful for testing.

# `start`

Starts the MCP server, reading from stdin and writing to stdout.
Blocks indefinitely processing messages.

# `start_link`

Starts the server as a supervised GenServer.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
