MCP Server — Connect AI Agents
Connect AI agents to Internal Newsletter using Model Context Protocol (MCP). 21 tools for newsletter creation, content management, and AI drafting. Works with Claude Desktop and Cursor.
The Internal Newsletter MCP server lets AI agents create and manage newsletters through natural conversation. It works with Claude Desktop, Cursor, and any MCP-compatible client.
What is MCP?
Model Context Protocol is an open standard that lets AI assistants use external tools. Instead of copy-pasting between your AI and the newsletter app, the agent calls tools directly — creating blocks, assembling newsletters, and sending previews without leaving the conversation.
Setup
1. Install
cd mcp-server
npm install
2. Get an API key
Go to Team Settings → API Keys and create a key with read, write, and send_preview scopes.
3. Configure Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"internal-newsletter": {
"command": "node",
"args": ["/path/to/mcp-server/src/index.js"],
"env": {
"INTERNAL_NEWSLETTER_URL": "https://your-app.com",
"INTERNAL_NEWSLETTER_API_KEY": "inl_your_key_here"
}
}
}
}
Restart Claude Desktop. You'll see Internal Newsletter in the tools list.
Available tools (21)
Team
| Tool | Description |
|---|---|
get_team_info |
Team details, brand colour, plan, usage |
Newsletters
| Tool | Description |
|---|---|
list_newsletters |
List with status filter |
get_newsletter |
Get newsletter with blocks |
create_newsletter |
Create a new newsletter |
update_newsletter |
Update metadata or status |
delete_newsletter |
Delete a newsletter |
preview_newsletter |
Get rendered HTML |
send_newsletter_preview |
Email preview to a team member |
Content Blocks
| Tool | Description |
|---|---|
list_content_blocks |
List with type/status/source filters |
get_content_block |
Get full block details |
create_content_block |
Create a new block |
update_content_block |
Update block content |
delete_content_block |
Delete a block |
ai_draft_content_block |
AI-generate from a prompt |
Newsletter Composition
| Tool | Description |
|---|---|
add_block_to_newsletter |
Add a block at a position |
remove_block_from_newsletter |
Remove a block |
reorder_newsletter_blocks |
Set block order |
Discovery
| Tool | Description |
|---|---|
list_templates |
Available email templates |
list_events |
Upcoming events and dates |
get_event |
Event details with suggested content |
ingest_content |
Push external content in |
Resources (read-only context)
Resources give the agent background context without needing a tool call:
| Resource | URI | What it provides |
|---|---|---|
| Team Info | team://info |
Brand colours, cadence, plan |
| Recent Newsletters | team://recent-newsletters |
Last 5 issues for style reference |
| Available Blocks | team://available-blocks |
Ready-to-use content blocks |
| Upcoming Events | team://upcoming-events |
Events in the next 30 days |
| Templates | team://templates |
Available email templates |
Example conversation
You: Check what content blocks we have ready, pull upcoming events for the next week, and draft a CEO update about our Q1 results — revenue up 23%, three new hires, and the mobile app launch. Assemble it all into a newsletter using the Bold template and send me a preview.
The agent will:
1. Call list_content_blocks (status: ready)
2. Call list_events (days_ahead: 7)
3. Call ai_draft_content_block with Q1 context
4. Call create_newsletter with Bold template
5. Call add_block_to_newsletter for each block
6. Call send_newsletter_preview to your email
One conversation. One minute. Complete newsletter.