Metadata-Version: 2.5
Name: quillwork-server
Version: 0.0.4
Summary: Reference service for Quillwork: document versions, agent tools, an MCP server and an HTTP API
Project-URL: Homepage, https://github.com/gardan4/quillwork
Project-URL: Documentation, https://github.com/gardan4/quillwork/blob/main/docs/SERVER.md
Project-URL: Issues, https://github.com/gardan4/quillwork/issues
Project-URL: Changelog, https://github.com/gardan4/quillwork/blob/main/CHANGELOG.md
License-Expression: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Keywords: agents,docx,llm,mcp,tracked-changes,word
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Office/Business :: Office Suites
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: quillwork~=0.0.4
Provides-Extra: all
Requires-Dist: anyio>=4; extra == 'all'
Requires-Dist: mcp<3,>=2.3; extra == 'all'
Requires-Dist: starlette>=0.47; extra == 'all'
Requires-Dist: uvicorn>=0.30; extra == 'all'
Provides-Extra: http
Requires-Dist: anyio>=4; extra == 'http'
Requires-Dist: starlette>=0.47; extra == 'http'
Requires-Dist: uvicorn>=0.30; extra == 'http'
Provides-Extra: mcp
Requires-Dist: mcp<3,>=2.3; extra == 'mcp'
Provides-Extra: test
Requires-Dist: anyio>=4; extra == 'test'
Requires-Dist: httpx>=0.27; extra == 'test'
Requires-Dist: jsonschema>=4.23; extra == 'test'
Requires-Dist: mcp<3,>=2.3; extra == 'test'
Requires-Dist: mypy>=1.13; extra == 'test'
Requires-Dist: pytest>=8; extra == 'test'
Requires-Dist: referencing>=0.35; extra == 'test'
Requires-Dist: ruff>=0.6; extra == 'test'
Requires-Dist: starlette>=0.47; extra == 'test'
Requires-Dist: types-jsonschema>=4.23; extra == 'test'
Requires-Dist: uvicorn>=0.30; extra == 'test'
Description-Content-Type: text/markdown

# quillwork-server

The service layer for [Quillwork](https://github.com/gardan4/quillwork), which does lossless,
AI-friendly editing of Word documents. It has three layers:

- **`quillwork_server.core`**: `DocumentService`, which handles document versions, one writer
  per document, undo, export and live patches. Storage, locks and the engine are interfaces.
- **`quillwork_server.tools`**: the eight agent tools (`read_document`, `find`, `edit`,
  `format`, `table`, `comment`, `review`, `advanced_op`). Each one compiles a call into an
  engine transaction and renders the result as text inside an untrusted-data fence.
- **Front ends**: `quillwork-mcp`, an MCP server over stdio or streamable HTTP, and
  `quillwork-server`, an HTTP API.

```sh
pip install 'quillwork-server[mcp]'     # or [http], or [all]
quillwork-mcp --store ./docs            # stdio, for MCP clients such as Claude Desktop
```

The library alone (`pip install quillwork-server`) depends only on `quillwork`. Configuration,
the HTTP API and how to embed it in your own service are covered in
[docs/SERVER.md](https://github.com/gardan4/quillwork/blob/main/docs/SERVER.md).

This is an alpha (0.0.x). Licensed under Apache-2.0.
