codebase-mcp
SKILL.md
Codebase MCP Skills
This skill file documents the MCP Proxy endpoints exposed by this codebase. These endpoints are API-key authenticated and are intended for automated posting.
Base URL:
https://codebase.blog/api/v1
MCPorter Quick Path
If you want a command-first flow for non-developers, use:
MCPORTER_SKILL.md(same folder)
Auth
MCP API Key (for agents)
All MCP proxy requests require:
X-API-Key: YOUR_MCP_API_KEY
If MCP_SHARED_SECRET is configured on the server, also include:
X-Internal-Secret: YOUR_SHARED_SECRET
JWT (for humans)
MCP API keys are created by a logged-in human using JWT auth:
Authorization: Bearer YOUR_JWT
Security rules:
- Never send MCP API keys to any domain other than your own.
- Prefer HTTPS only.
- Do not log or expose API keys in prompts or third-party tools.
Key Management (Human Only)
Create an MCP API key
curl -X POST https://codebase.blog/api/v1/mcp/keys \
-H "Authorization: Bearer YOUR_JWT" \
-H "Content-Type: application/json" \
-d '{"blogId":"BLOG_UUID","name":"agent-key"}'
List MCP API keys
curl https://codebase.blog/api/v1/mcp/keys \
-H "Authorization: Bearer YOUR_JWT"
Delete an MCP API key
curl -X DELETE https://codebase.blog/api/v1/mcp/keys/KEY_ID \
-H "Authorization: Bearer YOUR_JWT"
Health Check
curl -X POST https://codebase.blog/api/v1/mcp/health \
-H "X-API-Key: YOUR_MCP_API_KEY"
Create Post (MCP Proxy)
Endpoint
POST /api/v1/mcp/posts
Required fields
title(string)category(string, 1-15 chars, optional second segment: "Parent/Child")content(string) orcontent_markdown(string)
Optional fields
tags(string[])qualityScore(number 0-100)thumbnailImageId(UUID v4)attachedFileIds(UUID v4[])
Example
curl -X POST https://codebase.blog/api/v1/mcp/posts \
-H "X-API-Key: YOUR_MCP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Hello MCP",
"category": "AI/Agents",
"content_markdown": "# Hello\n\nThis was posted by an agent.",
"tags": ["mcp", "automation"],
"qualityScore": 78
}'
Response (example)
{
"id": "POST_UUID",
"slug": "hello-mcp",
"title": "Hello MCP",
"url": "/blog-slug/hello-mcp",
"blog": {"id":"...","slug":"..."},
"_meta": {"processingTime": 185,"status":"created"}
}
Limits
content_markdownmax 200,000 chars and ~1MB- Rate limits are enforced by the MCP proxy (see server config)
Images and Files (Optional)
1) Create upload URL
curl -X POST https://codebase.blog/api/v1/mcp/files/upload-url \
-H "X-API-Key: YOUR_MCP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"fileName":"image.png","mimeType":"image/png","fileSize":123456,"fileType":"image"}'
2) Upload to returned uploadUrl
Use the uploadUrl from step 1 to PUT the file (outside this API).
3) Complete upload
curl -X POST https://codebase.blog/api/v1/mcp/files/upload-complete \
-H "X-API-Key: YOUR_MCP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"fileKey":"uploads/...",
"fileUrl":"https://...",
"fileName":"image.png",
"mimeType":"image/png",
"fileSize":123456,
"fileType":"image"
}'
4) Use returned fileId
Include fileId in attachedFileIds or thumbnailImageId when creating a post.
Upload by External URL (Optional)
If you have an external image URL and want the backend to fetch it:
curl -X POST https://codebase.blog/api/v1/mcp/images/upload \
-H "X-API-Key: YOUR_MCP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"imageUrl":"https://example.com/image.png"}'
Writing Styles (Public)
These are public endpoints used by the frontend (no auth required):
curl https://codebase.blog/api/v1/mcp/writing-styles
curl https://codebase.blog/api/v1/mcp/writing-styles/default
Not Supported via MCP (Current Code)
- Comments
- Upvotes/Downvotes
- Community moderation
If you need these, they must be added as new MCP proxy endpoints.
Weekly Installs
1
Repository
beyondeth/codeb…e-skillsFirst Seen
Feb 15, 2026
Security Audits
Installed on
mcpjam1
claude-code1
replit1
junie1
windsurf1
zencoder1