mcpField
L
letmepost

letmepost

Local
letmepost.devSocial Media1Updated 4w ago

About letmepost

@letmepost/mcp connects AI agents to letmepost.dev's social publishing API through a single MCP server. Its tools are generated from the OpenAPI specification and support publishing, account operations, webhooks, and API keys.

Key features

  1. 01OpenAPI-generated tool set
  2. 02Publish or schedule posts
  3. 03Manage connected accounts
  4. 04Manage webhooks and API keys
  5. 05Automatic idempotency keys for writes

Use cases

  1. 01Publish or schedule posts across accounts
  2. 02Review publishing status and attempts
  3. 03Connect or disconnect social accounts
  4. 04Configure outbound webhooks

MCP support

The MCP server exposes letmepost.dev API endpoints as tools, with JSON schemas generated from the canonical OpenAPI specification. It supports writes with automatically injected idempotency keys.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"letmepost.dev": {
"command": "npx",
"args": [
"-y",
"@letmepost/mcp"
],
"env": {
"LMP_API_KEY": "<LMP_API_KEY>",
"LMP_API_BASE": "<LMP_API_BASE>"
}
}
}
}
Run commandnpx -y @letmepost/mcp
Environment variables to set
LMP_API_KEYSecretYour letmepost.dev API key (lmp_live_... or lmp_test_...). Create one at https://dashboard.letmepost.dev/api-keys.
LMP_API_BASEOverride for self-hosted deployments. Defaults to https://api.letmepost.dev.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@letmepost/mcp0.2.1

Tools

23

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
textstringNoDefault text applied to any target that omits its own `text`.
mediaarrayNoDefault media applied to any target that omits its own `media`.
targetsarrayYes
profileIdstringNoProfile scope for this batch. Use to target a specific workspace when the API key or OAuth token is org-wide. Forbidden when the key is already scoped to a different profile (rule `profile.scope_mismatch`). Omit to fall back to the key's bound profile.
publishNowbooleanNoExplicit immediate-publish mode. Mutually exclusive with `scheduledAt` (`mode_conflict`). When neither is set the request publishes immediately.
scheduledAtstringNoISO-8601 timestamp at least 1 second in the future. When set, every target row is queued and the response is 202. Scheduled posts currently accept text only — media and firstComment require an immediate publish.
firstCommentobjectNoAuto-posted reply to the published post. Bluesky-only today; ignored on platforms that don't support it.
firstComment.textstringYes

Details

From the project README

@letmepost/mcp

MCP server for letmepost.dev. Lets AI agents drive the full publishing API — posts, media, accounts, webhooks, API keys — through one MCP connection. The tool surface is generated from the canonical OpenAPI spec at startup, so every documented endpoint is reachable without a bespoke wrapper.

Install

npx @letmepost/mcp

Or wire it into Claude Code:

claude mcp add letmepost npx @letmepost/mcp --env LMP_API_KEY=lmp_live_...

Cursor / Cline / any MCP client:

{
  "mcpServers": {
    "letmepost": {
      "command": "npx",
      "args": ["@letmepost/mcp"],
      "env": { "LMP_API_KEY": "lmp_live_..." }
    }
  }
}

Configuration

VariableRequiredDefaultDescription
LMP_API_KEYyes—Bearer token from https://dashboard.letmepost.dev
LMP_API_BASEnohttps://api.letmepost.devOverride for self-hosted deployments

Tools

Tool names follow {method}_{path} with {param} segments rewritten as by_{param}. The current surface, generated from the OpenAPI spec:

  • post_v1_posts — Publish or schedule a multi-target post. One call fans out to up to 25 connected accounts.
  • get_v1_posts — List posts with cursor pagination, filterable by platform, status, error code, and time window.
  • get_v1_posts_by_id — Fetch a single post with all its publish attempts.
  • get_v1_media — List uploaded media. (Upload itself is multipart-only and exposed via the REST API; the MCP surface stays JSON-only.)
  • get_v1_accounts, get_v1_accounts_by_id, delete_v1_accounts_by_id — Read and disconnect platform accounts.
  • post_v1_accounts_connect_by_platform, post_v1_accounts_connect_by_platform_complete — Drive the connect handshake.
  • get_v1_accounts_by_id_pinterest_boards, post_v1_accounts_by_id_pinterest_boards, patch_v1_accounts_by_id_pinterest_default_board — Pinterest board lifecycle.
  • post_v1_api_keys, get_v1_api_keys, delete_v1_api_keys_by_id — Mint / list / revoke API keys.
  • post_v1_webhook_endpoints, get_v1_webhook_endpoints, get_v1_webhook_endpoints_by_id, patch_v1_webhook_endpoints_by_id, delete_v1_webhook_endpoints_by_id, post_v1_webhook_endpoints_by_id_test — Outbound webhook management.

Each tool's inputSchema is a flat JSON schema with path / query / body fields merged into one object — the agent doesn't need to know which slot a field lives in. Idempotency keys are auto-injected on writes.

Self-host

Self-host bypasses every platform approval gate. Bring your own credentials, every platform works the day you clone the repo. See docs.letmepost.dev/self-host/quick-start.

License

Apache 2.0.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.