Metadata-Version: 2.4
Name: moat-mcp
Version: 0.2.0
Summary: MCP server for MoaT
Author-email: Matthias Urlichs <matthias@urlichs.de>
Project-URL: homepage, https://m-o-a-t.org
Project-URL: repository, https://github.com/M-o-a-T/moat
Keywords: MoaT
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Framework :: AsyncIO
Classifier: Framework :: Trio
Classifier: Framework :: AnyIO
Classifier: Development Status :: 4 - Beta
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: anyio~=4.2
Requires-Dist: asyncclick~=8.3
Requires-Dist: attrs
Requires-Dist: mcp~=1.27
Requires-Dist: moat-util~=0.63.0
Requires-Dist: moat-lib-config~=0.2.0
Requires-Dist: moat-lib-run~=0.2.0
Provides-Extra: link
Requires-Dist: moat-link~=0.8.0; extra == "link"
Dynamic: license-file

# MCP server

% start synopsis
% start main

An MCP (Model Context Protocol) server for MoaT.

This package provides a stdio MCP server that exposes MoaT subsystems to MCP
clients. Each subsystem is implemented as a *service* in a
`moat.mcp.<name>` submodule; the enabled services are listed in the
`moat.mcp.services` configuration.

% end synopsis

## Services

The initial service is `link`, which exposes a connected MoaT-Link instance.
Its tools are:

* `link_get_value` – read the value stored at a path.
* `link_set_value` – store a value at a path.
* `link_watch_start` – start watching a path (optionally a subtree).
* `link_watch_get` – retrieve pending changes, optionally waiting for the first.
* `link_watch_stop` – stop a watch.

% end main

## Usage

Run the server with:

```
moat mcp stdio
```

The command connects every configured service and serves MCP requests on
stdin/stdout.

## License

This project is licensed under the same terms as MoaT.
