38 lines
1.6 KiB
Markdown
38 lines
1.6 KiB
Markdown
# MCP server
|
|
|
|
`cmd/mcp` builds `renewcms-mcp`, a stdio [MCP](https://modelcontextprotocol.io) server for Claude Desktop, Claude Code, Cursor and similar clients. It is an HTTP client of the public API: it holds no database access and sends the API key as `Authorization: Bearer`, so what the key's user may do is the limit of what the model may do.
|
|
|
|
Build it with `task build:mcp` (`bin/renewcms-mcp`).
|
|
|
|
## Configuration
|
|
|
|
| Name | Description |
|
|
| --- | --- |
|
|
| `RENEWCMS_URL` | Address of the instance, for example `https://cms.example`. |
|
|
| `RENEWCMS_API_KEY` | An API key created at `/integration/api-keys`. |
|
|
|
|
They belong to the MCP binary only and are not server variables.
|
|
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"renewcms": {
|
|
"command": "/path/to/renewcms-mcp",
|
|
"env": { "RENEWCMS_URL": "https://cms.example", "RENEWCMS_API_KEY": "rcms_..." }
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Tools
|
|
|
|
`list_articles`, `get_article`, `create_article` (always a draft), `update_article_body`, `publish_article`, `check_seo`, `list_media`, `upload_media` (local `path`, or `base64` with `filename`), `list_sites`, `get_sitemap`.
|
|
|
|
`--allow-destructive` adds `delete_article` and `delete_media`.
|
|
|
|
Routes that need a browser session, such as creating a site, are not exposed. API errors come back as tool errors with the status and the plain-text message.
|
|
|
|
## Resources and prompts
|
|
|
|
The resource `renewcms://docs/llms-full.txt` is the instance's own [`/llms-full.txt`](llms.md), so the model reads the documentation of the exact version it talks to. The prompt `write_and_publish_article` drafts, checks the SEO and asks before publishing.
|