Skip to main content

MCP server for managing a Mataroa blog via natural language

Project description

mataroa-mcp

An MCP server that lets you manage your Mataroa blog through natural language in Claude Desktop, Claude Code, or any MCP-compatible AI client.


What you can do

Tell Claude things like:

  • "Show me all my blog posts"
  • "Write a post about my weekend hike and save it as a draft"
  • "Publish my sourdough post"
  • "Are there any comments waiting for approval?"
  • "Delete the draft called testing-123"
  • "Create an About page for my blog"

Claude will call the right tool automatically.


Setup (5 minutes)

1. Get your Mataroa API key

  1. Go to mataroa.blog and log in (or create a free account).
  2. Open Dashboard → API and copy your API key.

2. Install the server

You need Python 3.10 or later. Clone this repo and install it locally:

git clone https://github.com/ayush111111/matoroa-mcp.git
cd matoroa-mcp
pip install -e .

3. Add to Claude Desktop

Open your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

If there is no "mcpServers" key, add it at the top level alongside any existing keys:

{
  "mcpServers": {
    "mataroa": {
      "command": "python",
      "args": ["-m", "mataroa_mcp.server"],
      "env": {
        "MATAROA_API_KEY": "paste-your-key-here"
      }
    }
  },
  "...your other existing config keys...": "..."
}

Note: Once mataroa-mcp is published to PyPI you can replace "command": "python", "args": ["-m", "mataroa_mcp.server"] with "command": "uvx", "args": ["mataroa-mcp"] and skip the clone/install step entirely.

4. Restart Claude Desktop

Quit and reopen Claude Desktop. You should see a small plug icon in the chat bar indicating MCP tools are active.

5. Test it

Type: "Show me my blog posts" — Claude should list them.


Add to Claude Code

Create or edit .mcp.json in your project root:

{
  "mcpServers": {
    "mataroa": {
      "command": "python",
      "args": ["-m", "mataroa_mcp.server"],
      "env": {
        "MATAROA_API_KEY": "paste-your-key-here"
      }
    }
  }
}

Available tools

Tool What it does
list_posts List all posts (published + drafts)
list_drafts List only unpublished drafts
get_post Get a single post by slug
create_post Create a new post
update_post Edit an existing post
delete_post Permanently delete a post
publish_post Publish a draft (sets today's date, or a date you choose)
unpublish_post Revert a published post back to draft
list_comments List all comments (or just for one post)
list_pending_comments List comments awaiting moderation
approve_comment Approve a pending comment
delete_comment Delete a comment
list_pages List all pages
get_page Get a single page by slug
create_page Create a new page
update_page Edit an existing page
delete_page Permanently delete a page

Notes

  • API key is never stored in code — it's always read from the MATAROA_API_KEY environment variable.
  • Mataroa has no rate limiting, so you can make requests freely.
  • Blog-level settings (title, custom domain, etc.) are not accessible via the Mataroa API and therefore not exposed here.
  • Draft posts have published_at: null. Publishing sets it to a date; unpublishing clears it.

Running tests

# Unit tests (no API key needed)
pip install -e .
pip install pytest pytest-asyncio respx
pytest tests/test_client.py tests/test_server.py -v

# Integration tests (requires a real Mataroa API key)
MATAROA_API_KEY=your-key pytest tests/test_integration.py --run-integration -v

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mataroa_mcp-0.1.0.tar.gz (186.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mataroa_mcp-0.1.0-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file mataroa_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: mataroa_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 186.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for mataroa_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ca602daa000d27a7a4a3ccf2602a0b42c6602385103c417221d328000c496c8d
MD5 9770d48f5efc7e04071afa44345ca876
BLAKE2b-256 645665a7df85a7cd514f6637d750ffffee74080b0921e3c4bb591bd6d5d3b4d6

See more details on using hashes here.

File details

Details for the file mataroa_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mataroa_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for mataroa_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b8b5d6124adbdbf2f4a1636f7d32c189ef6adbb48e434126947b3ec3371f198a
MD5 318786eb0589235ffaed3660b2725229
BLAKE2b-256 864de642614b406a6c11e50d5a8cdcc26c33ecd344ed998fa4bd65abd0f556bf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page