Install
$ agentstack add mcp-n2ns-n2n-post2site ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README — it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
n2n-post2site
Local MCP bridge for AI-assisted website publishing.
n2n-post2site lets an AI IDE client talk to a protected website content API without exposing a database, filesystem, shell, deployment process, payments, or account administration. It is a thin stdio MCP server: validate tool input, map it to HTTP, and return the backend response.
Architecture
AI IDE client
-> MCP stdio
n2n-post2site
-> HTTPS + X-API-KEY
website content API
-> host adapter handles storage, policy, preview, publish
For Laravel sites, n2ns/laravel-post2site is the first-party backend package for this contract.
Workflow
The intended authoring loop is:
- Read
post2site://capabilities,post2site://site-context, andpost2site://editorial-policy. - Inspect existing content with
n2n_list_inventory,post2site://inventory/stats, andn2n_check_duplicates. - Draft locally in the chat/IDE. Use
n2n_validate_working_draftfor non-persistent backend validation. - After the draft is confirmed for remote saving, call
n2n_create_draft. - Upload only the selected image with
n2n_upload_asset, then update the draft if needed. - Validate and preview with
n2n_validate_draftandn2n_preview_draft. - Publish only after explicit publish confirmation with
n2n_publish_draft.
The MCP server does not define blog fields such as type, topics, geo_tags, seo_keywords, or locales. Those live inside the host-declared content_payload object and are validated by the backend.
Quick Start
Requirements:
- Node.js 22+
- An MCP-capable IDE/client
- A backend implementing the Post2Site publishing HTTP contract
- A content API key
Using npm:
{
"mcpServers": {
"n2n-post2site": {
"command": "npx",
"args": ["-y", "n2n-post2site"],
"env": {
"CONTENT_API_BASE_URL": "https://your-site.com/api/v1/mcp",
"CONTENT_API_KEY": "your-api-key"
}
}
}
}
Using a local checkout:
{
"mcpServers": {
"n2n-post2site": {
"command": "node",
"args": ["/path/to/n2n-post2site/dist/index.js"],
"env": {
"CONTENT_API_BASE_URL": "https://your-site.com/api/v1/mcp",
"CONTENT_API_KEY": "your-api-key"
}
}
}
}
CONTENT_API_BASE_URL should point at the protected publishing API base, for example https://your-site.example/api/v1/mcp. Keep the API key out of prompts, screenshots, and article content.
MCP Resources
Static resources:
post2site://capabilitiespost2site://site-contextpost2site://editorial-policypost2site://inventory/stats
Resource templates:
post2site://inventory/resources/{target_identifier}post2site://drafts/{draft_id}
List tools include canonical resource URIs and MCP resource_link blocks when returned rows can be opened as resources.
MCP Tools
Inventory:
n2n_list_inventoryn2n_check_duplicates
Drafting:
n2n_validate_working_draftn2n_list_draftsn2n_create_draftn2n_update_draftn2n_validate_draftn2n_preview_draft
Assets and publishing:
n2n_upload_assetn2n_publish_draft
See [Resources Reference](./docs/RESOURCESREFERENCE.md) and [Tools Reference](./docs/TOOLSREFERENCE.md) for examples.
Security Boundaries
n2n-post2site should not expose:
- Delete operations.
- Direct database queries.
- Filesystem writes.
- Shell commands.
- Deployment or server operations.
- Product, pricing, payment, subscription, or account administration.
- Server-managed lifecycle fields such as
published_at,author, or host markers.
The backend is responsible for authentication, validation, preview rendering, publication, audit rules, and server-managed fields.
Development
npm run build
npm test
npm run smoke:mcp
npm run check
npm run check runs build, unit tests, built-surface checks, and the MCP protocol smoke test.
Related Docs
- [Backend API Contract](./docs/BACKEND_API.md)
- [Architecture](./docs/ARCHITECTURE.md)
- [Resources Reference](./docs/RESOURCES_REFERENCE.md)
- [Tools Reference](./docs/TOOLS_REFERENCE.md)
- [Client Smoke Testing](./docs/CLIENT_SMOKE.md)
- [Mock Backend Example](./examples/mock-backend/README.md)
- [Roadmap](./ROADMAP.md)
- [Changelog](./CHANGELOG.md)
- [Security](./SECURITY.md)
License
MIT
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: n2ns
- Source: n2ns/n2n-post2site
- License: MIT
- Homepage: https://n2ns.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.