MCP server + Agent Skill Β· open source (MIT)

Instagram MCP server: let Claude set up your comment-to-DM automations

The CommentKeyword agent toolkit gives Claude, Cursor and other MCP clients the tools to create, re-target and pause Instagram keyword automations. When Claude edits a Reel that ends with "Comment GUIDE", it can arm that DM for your next post before you publish.

Claude Code pluginClaude DesktopCursor, Windsurf and CodexAgent Skill for ReelsEvery plan, Free too
Example in Claude Code

You:Edit this into a Reel. CTA: comment GUIDE to get the free checklist.

Claude:The Reel is edited. I added a "Comment GUIDE πŸ‘‡" overlay inside the safe zone and put the CTA in the first line of the caption. Ready to arm the DM:

  • Keyword: GUIDE (whole word)
  • Posts: your next post or reel
  • DM: "Here's the checklist, {{namefirst}} πŸ‘‰ https://…"
  • Public reply: "Sent! Check your DMs πŸ“©"

Create it?

You:Yes

create_keyword Β· target: next_post

Claude:Done. GUIDE is waiting for your next post. Publish the Reel, then comment GUIDE from another account to test it.

What your AI agent can do with it

The MCP server turns the CommentKeyword API into tools your agent can call. You describe the campaign; the agent sets it up and shows you the result.

Set up automations from the chat

Ask for a keyword, the DM, variants and a public reply in plain language. The agent checks for a keyword that already exists, then creates the automation.

Arm the DM before you publish

With target: next_post you don't need a post ID. The automation attaches itself to the next post or reel the account publishes.

Hand the conversation to an AI agent

On paid plans, the agent can attach one of your Live AI agents with aiAgentId, so the conversation continues when the person replies to the DM.

For video editing with Claude

When Claude edits your Reel, the DM is ready before you post

The comment-to-dm-cta Agent Skill switches on when Claude scripts, edits or captions a short video whose CTA asks viewers to comment a word. It follows the same steps every time:

  1. 1Finds the CTA in the script, transcript, on-screen text and caption. If the video promises a resource but never asks for a comment, it suggests a CTA.
  2. 2Picks a keyword that won't misfire: one distinctive word, not something people write anyway, such as YES or WOW.
  3. 3Makes the CTA consistent: said in the voiceover, shown as an overlay inside the Reels safe zone, and written in the first line of the caption.
  4. 4Writes the DM with the promised link, plus optional wording variants and a public reply.
  5. 5Shows you a summary and, only after you confirm, creates the automation for your next post or reel.

Using claude-code-video-toolkit? The /comment-dm add-on reads the CTA from your project and arms the DM before you publish.

Install

First create an API token in CommentKeyword under Settings β†’ API. Give it keywords:read, keywords:write and agents:read. Add keywords:delete only if you want the agent to be able to delete automations.

Install in Claude Code

The plugin installs the skill and the MCP server. Claude Code asks for your API token when you enable it and keeps it in your system keychain. For the MCP server only, use claude mcp add and replace YOUR_TOKEN with your token.

Plugin: MCP server + Skill

/plugin marketplace add commentkeyword/agent-toolkit
/plugin install commentkeyword@commentkeyword

MCP server only

claude mcp add --transport stdio --env COMMENTKEYWORD_API_TOKEN=YOUR_TOKEN commentkeyword -- npx -y github:commentkeyword/agent-toolkit#v0.2.0

Install in Claude Desktop

Open Settings β†’ Developer β†’ Edit Config, add the server to claude_desktop_config.json, replace YOUR_TOKEN with your token and restart Claude Desktop.

claude_desktop_config.json

{
  "mcpServers": {
    "commentkeyword": {
      "command": "npx",
      "args": ["-y", "github:commentkeyword/agent-toolkit#v0.2.0"],
      "env": { "COMMENTKEYWORD_API_TOKEN": "YOUR_TOKEN" }
    }
  }
}

Install in Cursor

Add the server to ~/.cursor/mcp.json to use it in every project, or to .cursor/mcp.json for a single project. Replace YOUR_TOKEN with your token.

mcp.json

{
  "mcpServers": {
    "commentkeyword": {
      "command": "npx",
      "args": ["-y", "github:commentkeyword/agent-toolkit#v0.2.0"],
      "env": { "COMMENTKEYWORD_API_TOKEN": "YOUR_TOKEN" }
    }
  }
}

Install in Windsurf

In the Cascade panel, open the MCP settings and open the MCP config file. Add the same mcpServers entry and replace YOUR_TOKEN with your token.

mcp_config.json

{
  "mcpServers": {
    "commentkeyword": {
      "command": "npx",
      "args": ["-y", "github:commentkeyword/agent-toolkit#v0.2.0"],
      "env": { "COMMENTKEYWORD_API_TOKEN": "YOUR_TOKEN" }
    }
  }
}

Install in Codex

Add the server with the Codex CLI, or add the table to ~/.codex/config.toml (or to .codex/config.toml in a trusted project). Replace YOUR_TOKEN with your token.

Codex CLI

codex mcp add commentkeyword --env COMMENTKEYWORD_API_TOKEN=YOUR_TOKEN -- npx -y github:commentkeyword/agent-toolkit#v0.2.0

~/.codex/config.toml

[mcp_servers.commentkeyword]
command = "npx"
args = ["-y", "github:commentkeyword/agent-toolkit#v0.2.0"]

[mcp_servers.commentkeyword.env]
COMMENTKEYWORD_API_TOKEN = "YOUR_TOKEN"

claude.ai and ChatGPT

These apps only connect to remote MCP servers by URL. The CommentKeyword server runs locally today, so use one of the apps above; a remote version is planned. If you use ChatGPT, Codex accepts the same server and you sign in to it with your ChatGPT account. On claude.ai you can still upload the Agent Skill, as described below.

The server runs on your computer through npx, so it needs Node.js 18 or later.

Only want the skill? Download the skills/comment-to-dm-cta folder from the repository, zip it and upload it in Claude under Customize β†’ Skills. Without the MCP server it still plans the CTA and the DM.

MCP tools

Every tool calls the public CommentKeyword API with your token, so the agent can only do what the token's permissions allow.

ToolWhat it doesPermission
create_keywordCreates an automation. target is next_post, all_posts or specific_posts. Also takes DM variants, optional public replies, link tracking and an optional AI agent.keywords:write
update_keywordChanges any field. Re-arm it for the next upload with target: next_post, or pause it with isActive: false.keywords:write
list_keywordsLists automations, with an optional search, so the agent can spot a keyword that already exists.keywords:read
get_keywordShows one automation, including whether the next post was caught (nextPostStatus).keywords:read
delete_keywordDeletes an automation. If an AI agent is attached, it first returns an impact summary for you to confirm.keywords:delete
list_agentsLists the AI agents in the workspace, so a Live agent can be attached with aiAgentId.agents:read
Safety

It asks before it messages anyone

  • Every automation messages real people. The skill and the tool descriptions tell the agent to confirm the keyword, the DM and the target with you before creating or activating anything.
  • Each token works for one workspace and can be revoked at any time in Settings β†’ API.
  • Tokens have scoped permissions. A token with only keywords:read can look at your automations but not change them.
  • Deleting a keyword that has an AI agent attached needs a second, explicit confirmation.
  • DMs go out through Meta's official Instagram API, with the same rules as automations you create in the dashboard.

Included on every plan

The API and the MCP server are included on every plan, Free too. Your plan's normal limits still apply: Free includes 300 automated DMs a month and 3 active keywords. AI agents that continue the conversation after the first DM are available on paid plans.

Frequently asked questions

What is the CommentKeyword MCP server?

An open-source (MIT) Model Context Protocol server that turns the CommentKeyword API into tools an AI agent can call: create, update, list, read and delete keyword automations, and list AI agents. Your agent can set up Instagram comment-to-DM automations without writing HTTP requests.

Does it work with ChatGPT, Cursor or other AI tools?

It works with MCP clients that can start a local server, including Claude Code, Claude Desktop, Cursor, Windsurf and Codex, which you can sign in to with a ChatGPT account. The ChatGPT app and other tools that only connect to remote MCP servers by URL can't run it yet; a remote version is planned, and they can still call the REST API directly. The Agent Skill is a standard SKILL.md folder, so other agents that read Agent Skills can use it too.

Does it use OAuth?

Not at the moment. It uses a personal access token that you create in Settings β†’ API and pass as COMMENTKEYWORD_API_TOKEN. The Claude Code plugin keeps the token in your system keychain. You can revoke a token at any time.

What do I need on the Instagram side?

An Instagram professional account (Business or Creator) connected to CommentKeyword. CommentKeyword sends the DMs through Meta's official Instagram API. The agent never logs in to Instagram.

Can the agent start sending DMs without asking me?

The skill and the tool descriptions tell the agent to show you the keyword, the DM and the target, and to wait for your OK before creating or activating anything. If you only want it to look, give it a token with read permissions only. After you confirm, the automation works like one created in the dashboard: only people who comment the keyword get the DM.

Do I need the post ID?

No. With the next_post target, the automation attaches itself to the next post or reel the account publishes. That is the usual case while a video is still being edited. You can also target all posts, or specific posts by their Instagram media ID.

Does it cost extra?

No. The API and the MCP server are included on every plan, including Free. Automated DMs count toward your plan's monthly allowance as usual.

Is there an official Instagram MCP?

No. As of October 2026, Meta offers an official MCP server for ads, not for organic Instagram posts, comments or DMs, so every Instagram MCP server is third-party. This one works through CommentKeyword, which uses Meta's official Instagram API and never your password. See how Instagram MCP servers compare.

Is there a ManyChat MCP server?

Not an official one, as of October 2026. ManyChat's API can't create comment automations, so third-party ManyChat MCP servers can't either. Does ManyChat have an MCP server?

Let your agent arm the DM, then publish

Create a free CommentKeyword account, connect your Instagram professional account, make an API token and install the toolkit.

New to this? See what Claude can and can't do with InstagramPrefer plain HTTP? See the Instagram automation API