PostHog MCP Server
Official PostHog MCP Server for product analytics, feature flags, experiments, and more.
제작자가 쓴 설명(영어 원문)
Instagram content studio for Claude: analytics, competitors, Reels, publishing queue.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
IG_ACCESS_TOKEN, IG_USER_ID비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"creatorloop": {
"command": "uvx",
"args": [
"creatorloop"
],
"env": {
"IG_ACCESS_TOKEN": "your-value",
"IG_USER_ID": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add creatorloop --env IG_ACCESS_TOKEN=your-value --env IG_USER_ID=your-value -- uvx creatorloop실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"creatorloop": {
"command": "uvx",
"args": [
"creatorloop"
],
"env": {
"IG_ACCESS_TOKEN": "your-value",
"IG_USER_ID": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"creatorloop": {
"type": "stdio",
"command": "uvx",
"args": [
"creatorloop"
],
"env": {
"IG_ACCESS_TOKEN": "your-value",
"IG_USER_ID": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
IG_USER_ID env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 10일 점검
레지스트리 이름이 GitHub 계정 pandich93 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
코드 마지막 변경: 23일 전
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 2개 중 2개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: IG_ACCESS_TOKEN
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 23일 전 변경됐고, 최신 버전(0.3.0)은 23일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.
같은 카테고리에는: PostHog MCP Server, Agent-Native Analytics, Openshorts
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Official PostHog MCP Server for product analytics, feature flags, experiments, and more.
Agent-Native Amplitude/Mixpanel - connect data sources, prompt for charts
Turn long videos into viral vertical shorts and publish them to TikTok, Instagram and YouTube.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Open-source AI content studio for Instagram creators, built on Claude and the official Instagram API.
Analyse what works → make Reels and carousels → publish or queue them → review how they did. All from a chat with Claude.
There are plenty of "Instagram API for Claude" servers. creatorloop is built for the creator's loop instead:
You need uv, Claude Desktop, an Instagram Business or Creator account linked to a Facebook Page, and your own Meta app (5-minute guide).
uvx --from creatorloop creatorloop-setup
It connects Claude Desktop and opens a setup page in your browser: enter your app's App ID and App Secret, press Continue with Facebook, done. Then ask Claude: *"How did my last 10 posts do, and what should I post next?"*
Already in Claude? Ask *"connect my Instagram"*: Claude opens the same page (open_setup). Your App Secret and token are typed only into that local page, never into the chat.
Installing uv
| System | Command | |
|---|---|---|
| Windows | `powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 \ | iex"` |
| macOS | brew install uv or `curl -LsSf https://astral.sh/uv/install.sh \ | sh` |
| Linux | `curl -LsSf https://astral.sh/uv/install.sh \ | sh` |
creatorloop runs on Python 3.12 or newer; uv downloads one by itself if you don't have it.
creatorloop-setup finds the Claude Desktop config on Windows (including the Microsoft Store build), macOS and Linux, keeps your other servers, makes a backup and creates your settings file. Claude Desktop rewrites its config while it runs, so on macOS the command quits and reopens it for you; on Windows and Linux it asks you to quit it first.
Prefer not to open a terminal? Download the .mcpb file from the latest release and double-click it (or drag it into Claude Desktop → Settings → Extensions). Claude Desktop sets up Python and the dependencies itself, so the first start takes a minute. Leave the two optional fields empty and ask Claude *"connect my Instagram"*: the same setup page opens. Fill them in only if you already have a token and account ID — values entered there win over the setup page. If Claude Desktop says it can't find uv, install it (see *Installing uv* above) and restart Claude Desktop.
Running in Docker instead of uv
Build the image straight from GitHub and keep your settings in a folder on your computer:
docker build -t creatorloop https://github.com/pandich93/creatorloop.git
mkdir "$HOME/creatorloop"
If you use the post queue, first create .env in that folder with IG_TIMEZONE=Europe/Berlin (your zone): the container runs in UTC.
Connect your account (the setup page runs in the container; open the printed link in your browser). Keep all three 8765 the same; to use another port change all three:
docker run --rm -it -p 127.0.0.1:8765:8765 -v "$HOME/creatorloop:/data" --entrypoint creatorloop-auth creatorloop \
login --no-browser --port 8765 --bind 0.0.0.0
creatorloop-setup doesn't run inside Docker, so add the server to claude_desktop_config.json yourself, with the full path to the folder:
{
"mcpServers": { "creatorloop": { "command": "docker", "args": ["run", "-i", "--rm", "-v", "/Users/you/creatorloop:/data", "creatorloop"] } } }
Post folders for prepare_post and queue_post go into creatorloop/content/. The image includes cloudflared for publishing carousels.
The open_setup tool does not work inside Docker; use the command above to reconnect.
my-first-reel for the next free slot." → preview → "yes" → it goes out on time.Ready-made prompts in Claude Desktop's + menu: *Weekly Instagram report*, *Competitor brief*, *Data-driven content ideas*.
| Area | Tools |
|---|---|
| Your account | get_my_profile, get_my_media, get_media_insights, get_account_insights, get_audience_demographics |
| Content analysis | get_my_content_report, get_caption_insights, get_post_history, post_reviews |
| Competitors | get_competitor, compare_accounts, get_follower_history, track_competitor, untrack_competitor, list_tracked_competitors, update_tracked_competitors, find_viral_posts, get_competitor_post |
| Hashtags | search_hashtag, compare_hashtags, plan_hashtag_research |
| Publishing | prepare_post, get_post_job, publish_media, list_publications |
| Queue | queue_post, list_queue, cancel_queued |
| Comments | get_new_comments, reply_comment |
| Service | get_api_status, open_setup, clear_cache, restart_server |
34 tools in total. Tools that change something on Instagram are annotated as such for Claude, and their descriptions tell it to act only after you approve: publish_media and reply_comment after you OK the preview or the exact text, queue_post only with confirm=true after you saw the preview.
Put the files into a folder inside your content folder ( /content/ /):
my-carousel/ my-reel/
slide_01.png … slide_10.png reel.mp4 # H.264/HEVC, 23–60 fps, ≤1920 px wide, 3 s–15 min, ≤300 MB caption.txt caption.txt reel.json # optional: {"cover_ms": 1667, "share_to_feed": true, "trial": "SS_PERFORMANCE"}
--- line in caption.txt is notes and is not published.my-carousel" → preview → "publish". Or queue it for a slot.cloudflared once: winget install --id Cloudflare.cloudflared -e (Windows), brew install cloudflared (macOS) or a package from pkg.cloudflare.com (Linux).moov first) with the exact ffmpeg fix if something is off.QUEUE_SLOTS in the settings file. A queued post is blocked if its files or caption change after you approved it, and is marked missed if your computer was asleep for more than 3 hours past the slot.list_publications shows what is left. Publishing is never retried automatically, so there are no duplicates.Making the content itself: see examples/ and the content pipeline — a sample carousel, a sample Reel storyboard and the Remotion Reel template.
| Possible | Not possible | |
|---|---|---|
| Your account | Reach, views, likes, comments, saves, shares, profile visits, follows per post, Reels average watch time, audience demographics, account totals | Data older than 2 years; insights per carousel slide; Stories after 24 h |
| Competitors (Business Discovery) | Public data of Business/Creator accounts: followers, posts, bio, likes, comments, Reels views per post | Personal or private accounts; their reach, saves, shares, demographics; Stories |
| Hashtags | Top posts and posts from the last 24 h | More than 30 unique hashtags per rolling 7 days; post authors; keyword, audio or trend search |
| Follower growth | creatorloop saves a daily snapshot for you and every competitor you look at | History before the first snapshot |
Engagement rate for your posts = Σ(likes + comments + saves + shares) / Σreach × 100 (weighted, so tiny posts don't skew it). Posts younger than 72 h are reported separately as "still growing". Competitors' ER is per follower — the API does not expose their reach.
creatorloop-setup creates .env in your creatorloop home folder:
| System | Home folder |
|---|---|
| Windows | %APPDATA%\creatorloop |
| macOS | ~/Library/Application Support/creatorloop |
| Linux | ~/.local/share/creatorloop (or $XDG_DATA_HOME/creatorloop) |
Set CREATORLOOP_HOME to use another folder. The home folder holds .env, the creatorloop.db database and the content/ folder.
| Variable | Required | Meaning |
|---|---|---|
IG_ACCESS_TOKEN | yes | Long-lived (60 days) or System User (never expires) token — see Meta setup |
IG_USER_ID | yes | Your Instagram professional account ID (1784…), not the username |
GRAPH_API_VERSION | no | Default v26.0 |
META_APP_ID, META_APP_SECRET | no | Filled by the setup page; also used to check the token expiry |
IG_TIMEZONE | no | IANA name, e.g. Europe/Berlin. Default: your computer's timezone |
QUEUE_SLOTS | no | e.g. Mon,Wed,Fri 20:00 |
IG_DB_PATH, CACHE_TTL_*_MIN | no | Database location, cache lifetime in minutes |
The token expiry shows up in get_api_status, and every tool answer carries a `token_warn