Metadata-Version: 2.4
Name: dmcp-server
Version: 0.1.0
Summary: MCP server for prompt rewriting and memory recording.
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: fastmcp>=2.0.0

DMCP
====

This repository contains the Python package `dmcp-server`, which installs the
`dmcp-server` command.

The MCP server exposes two tools:

- `augument`: rewrites a prompt with relevant history and knowledge from the
  SQLite memory database.
- `rewrite`: alias for `augument`.
- `prompt`: alias for `augument`.
- `record`: records a prompt/response pair and stores extracted knowledge in
  the SQLite memory database.

Create or update the local development environment:

```sh
uv sync
```

Validate the current API route config:

```sh
uv run dmcp-server validate-config dmcp-api.json
```

Run the MCP server over stdio:

```sh
uv run dmcp-server serve --db .dmcp/memory.sqlite3
```

Run it over Streamable HTTP:

```sh
uv run dmcp-server serve --transport http --host 127.0.0.1 --port 8000 --db .dmcp/memory.sqlite3
```

Run the curl-based HTTP smoke test:

```sh
make curl-test
```

Publish a built package to TestPyPI:

```sh
cp .env.example .env
# edit .env and set UV_PUBLISH_TOKEN
make publish-test
```

Publish a built package to PyPI:

```sh
make publish
```
