ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที เข้าสู่ระบบด้วย Google เพื่อเขียนรีวิวได้แล้วต้นแบบ · อัปเดตทุก 30 นาที
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · วิธีติดตั้งภาษาไทยทุกตัว

FastMCP server for Substack — publish Notes and posts, pull analytics, manage dr

โดย adelaidasofiaรุ่น 0.1.0i★ 0iรันบนเครื่อง
ชื่อใน registryio.github.adelaidasofia/substack-mcp

วิธีติดตั้ง

ใช้ทำอะไรได้

ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ

  • ต่อแบบ ติดตั้งในเครื่อง
  • บัญชีหรือคีย์ ต้องมี SUBSTACK_SID_COOKIE
  • หมวด การตลาดและโซเชียล
คำอธิบายต้นฉบับจากผู้ทำ (อังกฤษ)
FastMCP server for Substack — publish Notes and posts, pull analytics, manage drafts, pluggable…

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ผลตรวจผ่าน 3/3 · ทำงานบนเครื่องคุณ

ขั้นแรก: คุณใช้ AI ตัวไหน

เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง

ต่อกับ Claude ได้ แต่ต้องเตรียมก่อน

ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ

  1. ดาวน์โหลดไฟล์ติดตั้งของผู้ทำ

    ดาวน์โหลดไฟล์ .mcpb ของผู้ทำ

    ไฟล์ .mcpb มาจากผู้ทำโดยตรง เราไม่ได้แก้ไฟล์

  2. ดับเบิลคลิกไฟล์ แล้วกด Install ในแอป Claude บนคอม

  3. ลองเลย

    ใช้ FastMCP server for Substack — publish Notes and posts, pull analytics, manage dr บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า Claude บอกว่ากำลังใช้ FastMCP server for Substack — publish Notes and posts, pull analytics, manage dr หรือมีชื่อเครื่องมือของ FastMCP server for Substack — publish Notes and posts, pull analytics, manage dr ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ChatGPT ยังต่อ FastMCP server for Substack — publish Notes and posts, pull analytics, manage dr ไม่ได้

FastMCP server for Substack — publish Notes and posts, pull analytics, manage dr ต้องติดตั้งในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะตัวที่ทำงานบนเว็บ

คุณทำแบบนี้แทนได้

ก · ใช้แอปที่ต่อ FastMCP server for Substack — publish Notes and posts, pull analytics, manage dr ได้

  • ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ

ข · ตัวอื่นในหมวด การตลาดและโซเชียล ที่ต่อกับ ChatGPT ได้

เลือกจากตัวที่ใช้มากในหมวดเดียวกัน เฉพาะตัวที่ต่อด้วยที่อยู่ได้โดยไม่ต้องใส่คีย์

Claude Code ยังต่อ FastMCP server for Substack — publish Notes and posts, pull analytics, manage dr ไม่ได้

ผู้ทำมีแต่ไฟล์ติดตั้งสำหรับแอป Claude บนคอม

คุณทำแบบนี้แทนได้

ก · ใช้แอปที่ต่อ FastMCP server for Substack — publish Notes and posts, pull analytics, manage dr ได้

  • ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ

Cursor ยังต่อ FastMCP server for Substack — publish Notes and posts, pull analytics, manage dr ไม่ได้

ผู้ทำมีแต่ไฟล์ติดตั้งสำหรับแอป Claude บนคอม

คุณทำแบบนี้แทนได้

ก · ใช้แอปที่ต่อ FastMCP server for Substack — publish Notes and posts, pull analytics, manage dr ได้

  • ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ

VS Code ยังต่อ FastMCP server for Substack — publish Notes and posts, pull analytics, manage dr ไม่ได้

ผู้ทำมีแต่ไฟล์ติดตั้งสำหรับแอป Claude บนคอม

คุณทำแบบนี้แทนได้

ก · ใช้แอปที่ต่อ FastMCP server for Substack — publish Notes and posts, pull analytics, manage dr ได้

  • ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ

โปรแกรมอื่นที่ใช้ MCP ได้ เช่น Windsurf, Zed หรือ Gemini CLI มีวิธีเพิ่มต่างกัน ดูวิธีของแต่ละตัวในหน้ารวมโปรแกรม

ดูโปรแกรมที่ใช้ MCP ทั้งหมด →

ค่าตั้งแบบไฟล์ JSON อยู่ในหัวข้อ “สำหรับคนเขียนโค้ด” ด้านล่าง

ติดตรงไหน? ถามคนที่ใช้ FastMCP server for Substack — publish Notes and posts, pull analytics, manage dr อยู่💬 พูดคุย →
สำหรับคนเขียนโค้ด: คำสั่ง Terminal และค่าตั้ง JSON

ค่าที่ต้องใส่เอง

  • SUBSTACK_SID_COOKIE ความลับ จำเป็น env
    Auth cookie extracted via browser dev tools

คำอธิบายยังเป็นภาษาอังกฤษตามต้นฉบับ

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

สรุป

ดาวน์โหลดต่อสัปดาห์i
ไม่มียอดใน npm/PyPI
การเชื่อมต่อ
รันบนเครื่อง
รุ่นล่าสุดi
0.1.0
ส่งเข้า registryi
20 พ.ค. 2569
แก้โค้ดล่าสุดi
9 พ.ย. 2569
ผู้ทำ
adelaidasofia
แพ็กเกจ
mcpb: …/substack-mcp.mcpb
สถานะใน registry
ใช้งานอยู่

ใช้กับโปรแกรมไหนได้

ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569

ติดตั้งบนเครื่องได้ใน

ClaudeGooseLM StudioMsty StudioCherry StudioVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

ดูโปรแกรมทั้งหมดพร้อมข้อดีข้อเสีย →

คู่มือที่เกี่ยวข้อง

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 15 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub adelaidasofia ซึ่งเป็นเจ้าของ repo

  • ✓ ผ่าน

    ยังมีคนดูแล

    มีการแก้โค้ดล่าสุด 6 วันที่ผ่านมา

  • ✓ ผ่าน

    มีสัญญาอนุญาต (license)

    ใช้ MIT

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

ช่องโหว่ที่เปิดเผยแล้ว (OSV.dev)

ไม่ได้ตรวจ: ตรวจได้เฉพาะแพ็กเกจ npm และ PyPI ที่ระบุรุ่น

เราตรวจอะไรบ้าง → · JSON

ผู้ทำ: ขอให้ตรวจใหม่ หรือแจ้งข้อมูลผิด

พูดคุย

ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์

ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย

ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx

เข้าสู่ระบบเพื่อโพสต์

รีวิวจากผู้ใช้

ยังไม่มีรีวิว

เข้าสู่ระบบเพื่อเขียนรีวิว

เทียบกับตัวอื่นในหมวด การตลาดและโซเชียลi

  • ดาวมากกว่า 0% ของอีก 3959 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 8% ของอีก 3959 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 3959 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

FastMCP server for Substack — publish Notes and posts, pull analytics, manage dr ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: SUBSTACK_SID_COOKIE

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด 6 วันที่ผ่านมา และส่งรุ่นล่าสุด (0.1.0) เข้า registry 6 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี MCPB ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Relaticle, ChatbotX, X (Twitter) MCP Server by Xquik, Betterlytics, BibiGPT YouTube Video Summarizer

ตัวอื่นที่ทำงานคล้ายกัน

หมวดเดียวกันจากผู้ทำคนอื่น ผ่านตัวตรวจคำสั่งแล้ว ตัวทางการขึ้นก่อน แล้วเรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Relaticle

Open-source CRM your AI agents can write to: companies, people, opportunities, tasks and notes.

โดย relaticleกำลังโต★ 1.8Kอัปเดต เมื่อวานซืน

รันบนคลาวด์✓ เจ้าของบริการ · relaticle.com

ChatbotX

Omnichannel customer messaging, CRM contacts, flows, sequences, broadcasts, and AI automation.

โดย ChatbotXIOกำลังโต★ 1.1K ดาวรวมทั้งรีโปอัปเดต 9 วันที่ผ่านมา

รันบนคลาวด์✓ เจ้าของบริการ · chatbotx.io

X (Twitter) MCP Server by Xquik

Xquik is the world's fastest and cheapest X (Twitter) data API with the most complete X data.

โดย Xquik-devกำลังโต★ 229อัปเดต 3 วันที่ผ่านมา

รันบนคลาวด์✓ xquik.com

Betterlytics

Query your Betterlytics web analytics from AI agents: traffic, funnels, journeys, errors, uptime.

โดย betterlyticsกำลังโต★ 180อัปเดต 3 เดือนที่ผ่านมา

รันบนคลาวด์✓ เจ้าของบริการ · betterlytics.io

BibiGPT YouTube Video Summarizer

AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.

โดย JimmyLvกำลังโต★ 141อัปเดต 18 วันที่ผ่านมา

รันบนคลาวด์✓ เจ้าของบริการ · bibigpt.co
  • Relaticle — ใช้บนคลาวด์ ไม่ต้องลงเครื่อง · ไม่ต้องใช้คีย์
  • ChatbotX — ใช้บนคลาวด์ ไม่ต้องลงเครื่อง · ไม่ต้องใช้คีย์
  • X (Twitter) MCP Server by Xquik — ใช้บนคลาวด์ ไม่ต้องลงเครื่อง · ไม่ต้องใช้คีย์
  • Betterlytics — ใช้บนคลาวด์ ไม่ต้องลงเครื่อง · ต้องใช้คีย์
  • BibiGPT YouTube Video Summarizer — ใช้บนคลาวด์ ไม่ต้องลงเครื่อง · ไม่ต้องใช้คีย์

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

substack-mcp

FastMCP server for Substack: publish Notes and posts, pull analytics, manage drafts, bridge Obsidian vault drafts to Substack, and generate visual cards with pluggable image generators.

Quick reference

substack__test_connection             -- verify auth (start here)

substack__publish_note text=... -- publish a Note immediately substack__list_vault_drafts -- show drafts from your vault file substack__publish_vault_draft index=N -- publish one vault draft as a Note substack__create_draft title=... body=... -- create a post draft substack__get_dashboard days=30 -- subscriber + view KPIs substack__capture_analytics_to_vault -- snapshot analytics to vault markdown

Tool inventory (30)

Notes + vault pipeline
  • test_connection(publication?) -- verify auth, return your profile
  • list_publications() -- show configured publications and which is default
  • publish_note(text, publication?, attachment_ids?) -- publish a Note immediately; markdown supported
  • create_note_attachment(image_path?, image_url?, link_url?, publication?) -- upload image or register link; returns attachment UUID for use with publish_note
  • list_my_notes(limit?, publication?) -- your recent Notes with reaction + comment counts
  • reply_to_note(note_id, text, publication?) -- reply to a Note by ID
  • list_vault_drafts() -- parse vault drafts file, return index + preview for each draft
  • publish_vault_draft(index, publication?, move_to_published?) -- publish one vault draft as a Note
  • batch_publish_vault_drafts(indices, publication?) -- publish multiple vault drafts in sequence
Post management
  • create_draft(title, body, subtitle?, audience?, publication?, section_id?) -- create a post draft; body is markdown
  • update_draft(draft_id, title?, body?, subtitle?, audience?, publication?, section_id?) -- edit an existing draft
  • publish_post(draft_id, send_email?, audience?, publication?, section_id?) -- publish a draft live to subscribers
  • schedule_post(draft_id, publish_at, publication?, section_id?) -- schedule a draft for future publication (ISO 8601)
  • list_sections(publication?) -- list configured sections for a publication; required to publish on publications with sections
  • list_drafts(limit?, publication?) -- list unpublished drafts
  • list_published(limit?, publication?) -- list published posts with basic stats
  • get_post(identifier, publication?) -- get full post by slug or numeric ID
  • upload_image(image_path, publication?) -- upload an image to Substack CDN; returns CDN URL
  • react(post_id, publication?) -- heart a post
  • restack(post_id, publication?) -- restack a post
  • comment(post_id, body, publication?) -- comment on a post
  • get_feed(limit?, publication?) -- your reader feed (posts from publications you follow)
Analytics
  • get_dashboard(days?, publication?) -- KPIs: total/paid subscribers, views, growth, ARR
  • get_post_stats(post_id, publication?) -- views, opens, clicks, shares, conversions for one post
  • get_subscriber_growth(publication?) -- subscriber count over time
  • get_growth_sources(publication?) -- subscriber growth by source (search, recommendations, direct, social)
  • get_top_posts(limit?, publication?) -- posts ranked by engagement
  • get_earnings(publication?) -- revenue data for paid publications
  • get_recommendation_stats(direction?, publication?) -- recommendation network performance
  • capture_analytics_to_vault(publication?) -- write a weekly analytics snapshot to your vault

Install

Open Claude Code, paste:

/plugin marketplace add adelaidasofia/substack-mcp /plugin install substack-mcp@substack-mcp

Legacy install

git clone https://github.com/adelaidasofia/substack-mcp

cd substack-mcp pip3 install -r requirements.txt python3 -c "import server; print('OK')"

Configuration

Copy config.example.json to config.json and fill in your values:

cp config.example.json config.json

config.json is gitignored. Key fields:

FieldDescription
publications[].nameInternal name used in tool calls
publications[].subdomainYour Substack subdomain (e.g. yourname)
publications[].cookieSession cookie (see below)
default_publicationWhich publication to use when publication arg is omitted
vault_drafts_pathPath to your vault drafts markdown file
image_generator.defaultActive image adapter: pillow_local or canva

Session cookie setup

Substack does not have a public API with OAuth. Auth uses your browser session cookie.

  1. Open Chrome and log in to Substack.
  2. Open DevTools (F12) and go to the Application tab.
  3. Under Cookies, find substack.com.
  4. Copy the value of substack.sid.
  5. Paste it into config.json under the matching publication's cookie field.

The raw value works; the server accepts both abc123 and substack.sid=abc123.

Session cookies expire. If tools return {"error": "Auth failed"}, re-extract the cookie.

Register in Claude Code

Add to your .mcp.json (project-scoped) or via claude mcp add -s user:

{

"mcpServers": { "substack": { "command": "python3", "args": ["/path/to/substack-mcp/server.py"] } } }

Restart Claude Code after editing .mcp.json. Verify with claude mcp list.

Vault integration

Set vault_drafts_path in config.json to a markdown file in your Obsidian vault. Format each draft as a section separated by ---. Sections under ## Ready to Post are surfaced first by list_vault_drafts. Sections under ## Essay Seeds come next.

After publishing, publish_vault_draft moves the draft to a ## Published section and appends the Substack URL and timestamp.

Pluggable image generators

Visual card generation is handled by the adapter set in config.json under image_generator.default.

Shipped adapters

`pillow_local` (default) -- pure Pillow, no external API. Renders 1080x1080 PNG cards locally using fonts from the fonts/ directory. Three pillar templates: warm mustard with optional figure (P1), deep burgundy bold quote (P2), mustard with section tag (P3). Use with render_card.py as a standalone CLI.

`canva` -- Canva MCP choreography. Returns a steps list describing the Canva MCP tool calls needed to clone a template, replace text, replace the figure, and export PNG. The Claude session executing the playbook follows these steps. Requires Canva MCP connected in Claude Code and design IDs filled in under image_generator.canva.pillars.

Stubbed adapters (contributions welcome)

`nano_banana` -- Gemini 3 Pro Image via the nano-banana skill. Stub in image_generators/nano_banana.py. Implement generate() by calling the skill's image endpoint with a prompt built from the card spec.

`midjourney` -- Midjourney API (or proxy). Stub in image_generators/midjourney.py. Implement generate() by submitting a prompt, polling for completion, and downloading the result.

`dalle` -- OpenAI DALL-E. Stub in image_generators/dalle.py. Implement generate() using openai.images.generate.

Writing your own adapter

Subclass ImageGenerator from image_generators.base:

from image_generators.base import ImageGenerator

class MyAdapter(ImageGenerator): @property def name(self) -> str: return "my_adapter"

def generate(self, spec: dict) -> dict:

spec keys: pillar, quote, handle, figure_path, output_path

return: {status: "ok", adapter: ..., image_path: ..., width: ..., height: ...}

...

Register it in image_generators/__init__.py and add a config block under image_generator.my_adapter in config.json.

Visual publishing pipeline

The visual_helper.py script handles the deterministic side of the visual queue pipeline: parsing a Review Queue markdown file, rotating through figures, and marking entries published. See visual_playbook.md for the full end-to-end flow including image generation, upload, and publishing steps.

python3 visual_helper.py peek --lang es        # get next approved visual item

python3 visual_helper.py mark --lang es ... # mark published + update log python3 visual_helper.py rotate-figure --pillar P1

Known gotchas

  1. Cookie expiry. substack.sid cookies expire after a few weeks. Re-extract from Chrome DevTools when test_connection returns auth errors.
  1. `draft_bylines` is required but undocumented. create_draft will 400 without it. The server fetches your user_id from /user/profile/self automatically and injects it into every draft POST.
  1. Note attachment endpoint requires trailing slash. POST /comment/attachment/ (with slash) works. Without slash it returns 404. The server handles this correctly.
  1. Publication-scoped vs global endpoints. Notes use substack.com/api/v1/comment/feed/. Post drafts use {subdomain}.substack.com/api/v1/drafts. Mixing them returns 404 or 403.
  1. `pledgedArr` in the dashboard is a projection, not real pledges. Use get_earnings for actual revenue data.
  1. Multi-publication support. Pass publication="name" to any tool to target a specific publication. Omit it to use default_publication from config.
  1. Sections are required to publish on publications that have them. Substack returns HTTP 400: Please choose a section from publish_post / schedule_post when the draft hasn't been filed under a section. Look up section IDs with list_sections(publication="main"), then pass section_id= to either the draft tool or the publish/schedule tool:
   list_sections                             # → [{id: 12345, name: "Essays", slug: "essays", ...}, ...]

create_draft title=... body=... section_id=12345

or, for an existing draft:

publish_post draft_id=987654 section_id=12345

publish_post / schedule_post patch the draft before publishing, so a single call is enough.

Related MCPs

Same author, same architecture pattern (FastMCP, draft+confirm on writes where applicable, vault auto-export, MIT):

ตัดมาแค่ช่วงต้น อ่านต่อใน repo