Postel MCP Server
by robinfaraj
README.md
# Postel MCP server for X (Twitter) and LinkedIn
Draft, schedule and publish X (Twitter) and LinkedIn posts from Claude, Cursor and other MCP clients.
[Postel](https://www.postel.app) is a writing and scheduling tool for people who post as themselves: founders, consultants and creators. Its hosted MCP server lets an AI assistant research high-performing X posts, draft posts and threads in your saved voice, and schedule or publish them to your X account and your personal LinkedIn profile once you approve.
This repository holds the public metadata for that server: the Claude plugin, the MCP Registry entry and setup instructions. The server itself is hosted by Postel; there is nothing to run locally.
| | |
|---|---|
| Server URL | `https://www.postel.app/api/mcp` |
| Transport | Streamable HTTP |
| Authentication | OAuth 2.1 with dynamic client registration, or an API key as a bearer token |
| Registry name | `app.postel/postel` |
## Setup
Post research (`search-viral-tweets`) works without an account. For everything else you need a Postel account; connect your X account, your LinkedIn profile or both under Settings > Channels.
### Claude Code plugin
```
/plugin marketplace add robinfaraj/postel-mcp
/plugin install postel@postel
```
Then run `/mcp` and sign in to Postel. The plugin adds the server and a `postel-writing` skill that teaches Claude the drafting and scheduling workflow.
### Claude Code without the plugin
```bash
claude mcp add --transport http postel https://www.postel.app/api/mcp
```
Run `/mcp` to sign in. To use an API key instead:
```bash
claude mcp add --transport http postel https://www.postel.app/api/mcp --header "Authorization: Bearer pstl_YOUR_API_KEY"
```
### Claude (web and desktop)
Open Customize > Connectors, click **+**, choose **Add custom connector**, enter `https://www.postel.app/api/mcp` and sign in to Postel when asked.
### Cursor
Add this to your MCP settings (`~/.cursor/mcp.json` or `.cursor/mcp.json` in a project):
```json
{
"mcpServers": {
"postel": {
"url": "https://www.postel.app/api/mcp",
"headers": {
"Authorization": "Bearer pstl_YOUR_API_KEY"
}
}
}
}
```
Create the key in Postel under Settings > API Keys. Keys start with `pstl_` and are scoped to one workspace.
### Other clients
Any client that supports remote MCP servers over Streamable HTTP works. Point it at the server URL above and either let it run the OAuth sign-in or send `Authorization: Bearer pstl_YOUR_API_KEY`.
## Tools
### Posts
| Tool | What it does |
|---|---|
| `list-posts` | Lists posts, with an optional status filter |
| `get-post` | Returns one post by ID |
| `create-post` | Saves text as a new draft |
| `update-post` | Edits a draft |
| `delete-post` | Deletes a post and cancels its schedule |
| `schedule-post` | Schedules a draft for a future time |
| `publish-post` | Publishes a draft now |
### Writing and research
| Tool | What it does |
|---|---|
| `generate-post` | Writes an X post, an X thread or a LinkedIn post in your voice and saves it as a draft |
| `refine-post` | Suggests a rewrite of a draft from your instructions |
| `search-viral-tweets` | Finds high-performing X posts by topic in Postel's library. No sign-in needed |
### Context
| Tool | What it does |
|---|---|
| `list-brands` | Lists your brands and topics |
| `get-brand-sources` | Returns background sources for a brand |
| `get-x-profiles` | Returns your voice profiles |
| `get-schedule` | Returns your weekly posting slots and timezone |
| `get-usage` | Shows usage and plan limits |
## Example prompts
- "Find viral posts about bootstrapping a SaaS and tell me what the best hooks have in common."
- "Draft a LinkedIn post about the pricing change we shipped this week."
- "Write a thread about what we learned from our last launch."
- "Show me what is scheduled for next week."
- "Schedule that post for Tuesday at 9am Berlin time."
## What it does not do
- It does not read your X timeline, mentions or DMs, or your LinkedIn feed or messages.
- It does not like, reply, follow, comment or send connection requests.
- LinkedIn posts go to personal profiles only, not company pages.
- Images, video, documents and LinkedIn first comments are added in the Postel editor, not through MCP.
- Research searches Postel's indexed library of X posts, not live X.
## Plans and limits
- Research needs no account. Drafting and reading posts work on any plan, and AI generation counts against your monthly quota.
- Scheduling and publishing need a paid plan or trial. See [pricing](https://www.postel.app/#pricing).
- API keys are limited to 60 requests per minute.
## Links
- [Setup guide and FAQ](https://www.postel.app/postel-mcp-server)
- [LinkedIn MCP server](https://www.postel.app/linkedin-mcp-server)
- [X MCP server](https://www.postel.app/x-mcp-server)
- [Connect Claude to LinkedIn](https://www.postel.app/connect-claude-to-linkedin)
- [Privacy policy](https://www.postel.app/en/legal/privacy-policy) · [Terms](https://www.postel.app/en/legal/terms)
- Support: [contact form](https://www.postel.app/en/contact)
## License
The files in this repository are released under the [MIT License](LICENSE). The Postel service is covered by its own terms.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues