save_blog_post
[MAINTENANCE] Create or update a workspace-scoped blog post (draft|published|archived lifecycle). Posts belong to the whole workspace, not a single project, and are served publicly at /blog/<slug> once status='published'. Pass 'id' to update an existing post; omit it to create a new draft. 'slug'...
This record as markdown: /tools/io-github-ajc3xc-meridian/save-blog-post.md
What save_blog_post does on Meridian
AI agents use save_blog_post to create or update resources in Meridian, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Meridian environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | — | Optional: id of an existing post to update instead of creating a new one. |
body | string | — | Post body (Markdown). |
slug | string | — | Optional URL slug; auto-derived from the title when omitted. |
title | string | Yes | |
status | string | — | Lifecycle status. Default 'draft'. 'published' makes it live at /blog/<slug>. |
Parameters from the server's own tool schema.
Why save_blog_post is rated Medium
This tool creates and modifies blog post data reversibly. It is a Write operation because it can create new posts (omit 'id') or update existing ones (pass 'id'), both of which are non-destructive and can be edited or changed later. The public serving and metadata storage amplify impact within a workspace context, raising severity to medium rather than low.
From the tool's definition Tool description explicitly states 'Create or update a workspace-scoped blog post' with 'draft|published|archived lifecycle'.
Risk signalsAccepts raw HTML/template content (body)
Attacks that exploit this kind of access
The rule that runs save_blog_post safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Meridian, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For save_blog_post, this is the rule to start with:
save_blog_post stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Meridian, apply this rule, and every save_blog_post call is checked against it from then on.
Questions about save_blog_post
[MAINTENANCE] Create or update a workspace-scoped blog post (draft|published|archived lifecycle). Posts belong to the whole workspace, not a single project, and are served publicly at /blog/<slug> once status='published'. Pass 'id' to update an existing post; omit it to create a new draft. 'slug' is optional (auto-derived from the title, de-duplicated). Returns the saved post with a computed 'url'. Persistent-state disclosure: on hosted Meridian, supplied text and project/session metadata are sent to and stored in Meridian's service; self-hosted deployments keep them in the configured local SQLite/Postgres database. This data is visible in the dashboard/API and later project context or handoffs. Delete individual tasks, notes, or decisions where supported, or delete the project/account using the documented controls. Do not include secrets. It is categorised as a Write tool in the Meridian MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
save_blog_post accepts 5 parameters: id, body, slug, title, status. Required: title. The full parameter table on this page comes from the server's own tool schema.
Register the Meridian MCP server in PolicyLayer and add a rule for save_blog_post: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Meridian. Nothing to install.
save_blog_post is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the save_blog_post rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for save_blog_post. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
save_blog_post is provided by the Meridian MCP server (@meridianmcp/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Meridian, and thousands of servers like it.
This server
Across the catalogue