content-distribution-mcp
An MCP server that distributes content across multiple platforms including DEV.to, Hashnode, GitHub Discussions, Reddit, and Bluesky. It handles platform-specific adaptation, idempotent publishing, and state management to automate multi-channel content distribution.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Auto-publish content to DEV.to and Hashnode
- Distribute posts to GitHub Discussions and Reddit
- Publish to Bluesky with platform-specific formatting
- Manage centralized state for multi-channel publishing
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
@automatelab/content-distribution-mcp 2.2.1
{
"version": "2.2.1",
"transport": "stdio",
"identifier": "@automatelab/content-distribution-mcp",
"registryType": "npm",
"environmentVariables": [
{
"name": "DEV_TO_API_KEY",
"format": "string",
"description": "DEV.to API key for publishing articles"
},
{
"name": "HASHNODE_TOKEN",
"format": "string",
"description": "Hashnode personal access token"
},
{
"name": "HASHNODE_PUBLICATION_ID",
"format": "string",
"description": "Hashnode publication ID"
},
{
"name": "GITHUB_TOKEN",
"format": "string",
"description": "GitHub personal access token for GitHub Discussions"
},
{
"name": "GITHUB_DISCUSSION_REPO",
"format": "string",
"description": "GitHub repo for Discussions in owner/repo format"
},
{
"name": "REDDIT_CLIENT_ID",
"format": "string",
"description": "Reddit OAuth app client ID"
},
{
"name": "REDDIT_CLIENT_SECRET",
"format": "string",
"description": "Reddit OAuth app client secret"
},
{
"name": "REDDIT_USERNAME",
"format": "string",
"description": "Reddit account username"
},
{
"name": "REDDIT_PASSWORD",
"format": "string",
"description": "Reddit account password"
},
{
"name": "BLUESKY_IDENTIFIER",
"format": "string",
"description": "Bluesky handle (e.g. you.bsky.social)"
},
{
"name": "BLUESKY_PASSWORD",
"format": "string",
"description": "Bluesky app password"
},
{
"name": "DISTRIBUTION_BACKEND",
"format": "string",
"description": "State backend (default: yaml)"
},
{
"name": "DISTRIBUTION_BACKEND_DIR",
"format": "string",
"description": "Directory for YAML state files (default: ~/.distribution-mcp)"
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"content-distribution-mcp": {
"command": "npx",
"args": [
"-y",
"@automatelab/content-distribution-mcp@2.2.1"
],
"env": {
"DEV_TO_API_KEY": "<YOUR_DEV_TO_API_KEY>",
"HASHNODE_TOKEN": "<YOUR_HASHNODE_TOKEN>",
"HASHNODE_PUBLICATION_ID": "<YOUR_HASHNODE_PUBLICATION_ID>",
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>",
"GITHUB_DISCUSSION_REPO": "<YOUR_GITHUB_DISCUSSION_REPO>",
"REDDIT_CLIENT_ID": "<YOUR_REDDIT_CLIENT_ID>",
"REDDIT_CLIENT_SECRET": "<YOUR_REDDIT_CLIENT_SECRET>",
"REDDIT_USERNAME": "<YOUR_REDDIT_USERNAME>",
"REDDIT_PASSWORD": "<YOUR_REDDIT_PASSWORD>",
"BLUESKY_IDENTIFIER": "<YOUR_BLUESKY_IDENTIFIER>",
"BLUESKY_PASSWORD": "<YOUR_BLUESKY_PASSWORD>",
"DISTRIBUTION_BACKEND": "<YOUR_DISTRIBUTION_BACKEND>",
"DISTRIBUTION_BACKEND_DIR": "<YOUR_DISTRIBUTION_BACKEND_DIR>"
}
}
}
}Cline
{
"mcpServers": {
"content-distribution-mcp": {
"command": "npx",
"args": [
"-y",
"@automatelab/content-distribution-mcp@2.2.1"
],
"env": {
"DEV_TO_API_KEY": "<YOUR_DEV_TO_API_KEY>",
"HASHNODE_TOKEN": "<YOUR_HASHNODE_TOKEN>",
"HASHNODE_PUBLICATION_ID": "<YOUR_HASHNODE_PUBLICATION_ID>",
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>",
"GITHUB_DISCUSSION_REPO": "<YOUR_GITHUB_DISCUSSION_REPO>",
"REDDIT_CLIENT_ID": "<YOUR_REDDIT_CLIENT_ID>",
"REDDIT_CLIENT_SECRET": "<YOUR_REDDIT_CLIENT_SECRET>",
"REDDIT_USERNAME": "<YOUR_REDDIT_USERNAME>",
"REDDIT_PASSWORD": "<YOUR_REDDIT_PASSWORD>",
"BLUESKY_IDENTIFIER": "<YOUR_BLUESKY_IDENTIFIER>",
"BLUESKY_PASSWORD": "<YOUR_BLUESKY_PASSWORD>",
"DISTRIBUTION_BACKEND": "<YOUR_DISTRIBUTION_BACKEND>",
"DISTRIBUTION_BACKEND_DIR": "<YOUR_DISTRIBUTION_BACKEND_DIR>"
}
}
}
}VS Code
{
"servers": {
"content-distribution-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@automatelab/content-distribution-mcp@2.2.1"
],
"env": {
"DEV_TO_API_KEY": "<YOUR_DEV_TO_API_KEY>",
"HASHNODE_TOKEN": "<YOUR_HASHNODE_TOKEN>",
"HASHNODE_PUBLICATION_ID": "<YOUR_HASHNODE_PUBLICATION_ID>",
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>",
"GITHUB_DISCUSSION_REPO": "<YOUR_GITHUB_DISCUSSION_REPO>",
"REDDIT_CLIENT_ID": "<YOUR_REDDIT_CLIENT_ID>",
"REDDIT_CLIENT_SECRET": "<YOUR_REDDIT_CLIENT_SECRET>",
"REDDIT_USERNAME": "<YOUR_REDDIT_USERNAME>",
"REDDIT_PASSWORD": "<YOUR_REDDIT_PASSWORD>",
"BLUESKY_IDENTIFIER": "<YOUR_BLUESKY_IDENTIFIER>",
"BLUESKY_PASSWORD": "<YOUR_BLUESKY_PASSWORD>",
"DISTRIBUTION_BACKEND": "<YOUR_DISTRIBUTION_BACKEND>",
"DISTRIBUTION_BACKEND_DIR": "<YOUR_DISTRIBUTION_BACKEND_DIR>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"content-distribution-mcp": {
"command": "npx",
"args": [
"-y",
"@automatelab/content-distribution-mcp@2.2.1"
],
"env": {
"DEV_TO_API_KEY": "<YOUR_DEV_TO_API_KEY>",
"HASHNODE_TOKEN": "<YOUR_HASHNODE_TOKEN>",
"HASHNODE_PUBLICATION_ID": "<YOUR_HASHNODE_PUBLICATION_ID>",
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>",
"GITHUB_DISCUSSION_REPO": "<YOUR_GITHUB_DISCUSSION_REPO>",
"REDDIT_CLIENT_ID": "<YOUR_REDDIT_CLIENT_ID>",
"REDDIT_CLIENT_SECRET": "<YOUR_REDDIT_CLIENT_SECRET>",
"REDDIT_USERNAME": "<YOUR_REDDIT_USERNAME>",
"REDDIT_PASSWORD": "<YOUR_REDDIT_PASSWORD>",
"BLUESKY_IDENTIFIER": "<YOUR_BLUESKY_IDENTIFIER>",
"BLUESKY_PASSWORD": "<YOUR_BLUESKY_PASSWORD>",
"DISTRIBUTION_BACKEND": "<YOUR_DISTRIBUTION_BACKEND>",
"DISTRIBUTION_BACKEND_DIR": "<YOUR_DISTRIBUTION_BACKEND_DIR>"
}
}
}
}Let your agent find its tools
Find servers like content-distribution-mcp from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.