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

Power Automate MCP Server

โดย sapientsaiรุ่น 0.2.4i★ 2iรันบนเครื่อง
ชื่อใน registryio.github.sapientsai/power-automate-mcp-server

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Inspect, operate, and author Microsoft Power Automate cloud flows from an agent context.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

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

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: อื่น ๆ
  • ต้องใส่ค่าเหล่านี้: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET

ติดตั้ง

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

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 2 จาก 2 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: AZURE_CLIENT_ID, AZURE_TENANT_ID, FLOW_SCOPES, AZURE_AUTH_MODE, AZURE_CLIENT_SECRET, ENABLE_WRITE_OPS, DEFAULT_ENVIRONMENT

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "power-automate": {
      "command": "npx",
      "args": [
        "-y",
        "power-automate-mcp-server"
      ],
      "env": {
        "AZURE_CLIENT_ID": "ใส่ค่าของคุณ",
        "AZURE_TENANT_ID": "ใส่ค่าของคุณ",
        "FLOW_SCOPES": "ใส่ค่าของคุณ",
        "AZURE_AUTH_MODE": "ใส่ค่าของคุณ",
        "AZURE_CLIENT_SECRET": "ใส่ค่าของคุณ",
        "ENABLE_WRITE_OPS": "ใส่ค่าของคุณ",
        "DEFAULT_ENVIRONMENT": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add power-automate --env AZURE_CLIENT_ID='ใส่ค่าของคุณ' --env AZURE_TENANT_ID='ใส่ค่าของคุณ' --env FLOW_SCOPES='ใส่ค่าของคุณ' --env AZURE_AUTH_MODE='ใส่ค่าของคุณ' --env AZURE_CLIENT_SECRET='ใส่ค่าของคุณ' --env ENABLE_WRITE_OPS='ใส่ค่าของคุณ' --env DEFAULT_ENVIRONMENT='ใส่ค่าของคุณ' -- npx -y power-automate-mcp-server

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "power-automate": {
      "command": "npx",
      "args": [
        "-y",
        "power-automate-mcp-server"
      ],
      "env": {
        "AZURE_CLIENT_ID": "ใส่ค่าของคุณ",
        "AZURE_TENANT_ID": "ใส่ค่าของคุณ",
        "FLOW_SCOPES": "ใส่ค่าของคุณ",
        "AZURE_AUTH_MODE": "ใส่ค่าของคุณ",
        "AZURE_CLIENT_SECRET": "ใส่ค่าของคุณ",
        "ENABLE_WRITE_OPS": "ใส่ค่าของคุณ",
        "DEFAULT_ENVIRONMENT": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "power-automate": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "power-automate-mcp-server"
      ],
      "env": {
        "AZURE_CLIENT_ID": "ใส่ค่าของคุณ",
        "AZURE_TENANT_ID": "ใส่ค่าของคุณ",
        "FLOW_SCOPES": "ใส่ค่าของคุณ",
        "AZURE_AUTH_MODE": "ใส่ค่าของคุณ",
        "AZURE_CLIENT_SECRET": "ใส่ค่าของคุณ",
        "ENABLE_WRITE_OPS": "ใส่ค่าของคุณ",
        "DEFAULT_ENVIRONMENT": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

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

  • AZURE_CLIENT_ID จำเป็น env
    Application (client) ID of your Entra app registration (multi-tenant public client).
  • AZURE_TENANT_ID จำเป็น env
    Tenant GUID. Required for the Flow audience ('common' fails with AADSTS50059).
  • FLOW_SCOPES env
    Comma-separated OAuth scopes (e.g. .../Flows.Read.All,.../Flows.Manage.All).
  • AZURE_AUTH_MODE env
    interactive (device-code, default) or clientCredentials (app-only).
  • AZURE_CLIENT_SECRET ความลับ env
    Client secret — only for clientCredentials mode.
  • ENABLE_WRITE_OPS env
    Set to 'true' to enable mutating tools (default read-only).
  • DEFAULT_ENVIRONMENT env
    Environment id used when a tool omits 'environment'.

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

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

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

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

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

  • ✓ ผ่าน

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

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

  • ✓ ผ่าน

    ยังมีคนดูแล

    มีการแก้โค้ดล่าสุด 2 เดือนที่ผ่านมา

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

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

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

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

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

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

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

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

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

เทียบกับตัวอื่นในหมวด อื่น ๆi

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

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

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

Power Automate MCP Server ปลอดภัยไหม?

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

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

ต้องใส่ค่าเหล่านี้: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET

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

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

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

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

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

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

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

ในหมวดเดียวกันมี World Monitor, Claude Flow, Tldraw

ตัวที่ใช้แทนได้

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

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

World Monitor

Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.

โดย koala73ใช้กันมาก★ 90.4Kอัปเดต 5 วันที่ผ่านมา

รันบนคลาวด์✓ worldmonitor.app

Claude Flow

AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.

โดย ruvnetใช้กันมาก↓ 14.3K/สัปดาห์★ 81.4Kอัปเดต 14 เดือนที่ผ่านมา

รันบนเครื่อง

Tldraw

Draw and visually collaborate with your agents on tldraw's canvas.

โดย tldrawใช้กันมาก★ 51.4Kอัปเดต 8 เดือนที่ผ่านมา

รันบนคลาวด์

README จากผู้ทำ

เปิดอ่าน README

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

power-automate-mcp-server

An MCP server that lets agents inspect, operate, and author Microsoft Power Automate cloud flows from a CLI/agent context — list and inspect flows, debug runs, check connections and owners, and (when explicitly enabled) enable/disable flows, cancel/resubmit runs, manage owners, and create/update/delete flows.

Primarily a management surface — the Power Automate portal's visual designer remains the better place to author complex flow logic — but create_flow/update_flow/delete_flow are also available (write-gated) for programmatic authoring. Built on SomaMCP (telemetry, health/info/ dashboard, error classification) over FastMCP.

⚠️ Unofficial API. v1 targets api.flow.microsoft.com — the surface the Power Automate

portal itself uses. Microsoft labels it _"isn't supported. Customers should instead use the

Dataverse Web APIs."_ It is stable in practice and, unlike Dataverse, sees all flows

(including personal "My Flows") and works on M365‑seeded entitlements (no Premium license).

Every tool's description carries this disclaimer. A supported Dataverse backend is stubbed

for the future (see src/backend/dataverse/README.md).

Quick start

pnpm install

cp .env.example .env # set AZURE_CLIENT_ID (see "App registration" below) pnpm build pnpm dev:stdio # local agent over stdio (device-code sign-in to stderr)

On first use the server prints a device-code prompt to stderr; open https://microsoft.com/devicelogin, enter the code, and sign in. The token is cached (TOKEN_CACHE_PATH, mode 0600) and silently refreshed thereafter.

Add to an MCP client (stdio)
{

"mcpServers": { "power-automate": { "command": "npx", "args": ["-y", "power-automate-mcp-server", "--stdio"], "env": { "AZURE_CLIENT_ID": " " }, }, }, }

Developing on this repo? It ships a project-scoped .mcp.json (stdio, local dist/bin.js). After pnpm build, export AZURE_CLIENT_ID and open the repo in Claude Code — the power-automate server loads automatically (complete the device-code sign-in once; the cached token is then reused).

App registration

This server ships no default client id — you register your own (one‑time):

  1. Azure Portal → Microsoft Entra ID → App registrations → New registration.
  2. Name it (e.g. power-automate-mcp). Supported account types: multitenant (or single‑tenant if you'll only ever use one org).
  3. Authentication → Add a platform → Mobile and desktop applications. Add redirect URI http://localhost (unused by device code, but required to register the platform). Set "Allow public client flows" = Yes.
  4. API permissions → Add a permission. You need a delegated permission for the Power Automate / _Microsoft Flow Service_ API. If it isn't in the picker, see "Token audience" below — this is the known friction point.
  5. Copy the Application (client) ID → AZURE_CLIENT_ID.

For unattended clientCredentials mode instead: add a client secret, grant application permissions with admin consent, and set AZURE_AUTH_MODE=clientCredentials, AZURE_TENANT_ID= , AZURE_CLIENT_SECRET=.... Note app‑only has limited Flow reach (it generally cannot see personal "My Flows").

Verified working setup ⚠️

Confirmed against a real tenant. Interactive Flow auth needs all four of these — each one, if missing, fails with a different cryptic AADSTS… (details in docs/api-notes.md):

  1. A specific tenant — AZURE_TENANT_ID= , not `common`. common + a resource scope → AADSTS50059 (and MSAL hides it as an empty device-code response).
  2. The _Microsoft Flow Service_ delegated permission on the app (resource app id 7df0a125-d3be-4c96-aa54-591f83ff541c). Missing → AADSTS650057.
  3. Specific scopes, not `.default`, when reusing an app that has other (incrementally consented) permissions — .default validates the whole app and can fail with AADSTS650051. A _dedicated_ app may use .default. Pin via FLOW_SCOPES.
  4. "Allow public client flows" = Yes (isFallbackPublicClient=true). Off → token redemption fails with invalid_client.

Verified FLOW_SCOPES: https://service.flow.microsoft.com/Flows.Read.All,https://service.flow.microsoft.com/Flows.Manage.All

Configure an existing app via az
APP=<your-app-client-id>; FLOW=7df0a125-d3be-4c96-aa54-591f83ff541c

Flows.Read.All + Flows.Manage.All (delegated), then tenant-wide consent:

az ad app permission add --id "$APP" --api "$FLOW" --api-permissions \ e45c5562-459d-4d1b-8148-83eb1b6dcf83=Scope 30b2d850-00c3-4802-b7ae-ece9af9de5c6=Scope az ad app permission admin-consent --id "$APP"

enable device-code (public client flows):

az ad app update --id "$APP" --set isFallbackPublicClient=true

Recommended: a dedicated public-client app with only the Flow delegated permissions

avoids the .default/shared-app pitfalls (#3) entirely — cleaner than reusing a Graph app.

Tools

All tools are read‑only by default. Write tools are registered but refuse unless ENABLE_WRITE_OPS=true.

Read-only (always enabled)
ToolParametersReturns
list_environments—{ id, name, displayName, location, isDefault }[]
list_flowsenvironment?, owner?{ name, displayName, state, createdTime, lastModifiedTime, owner }[]
get_flowenvironment?, flowfull flow incl. definition, connectionReferences, trigger/action names
list_flow_runsenvironment?, flow, top? (≤100), status?{ name, status, startTime, endTime, durationMs, triggerName, error }[]
get_flow_runenvironment?, flow, runrun detail + first‑failure + raw properties (debugging)
list_connectionsenvironment?{ name, apiName, displayName, status, accountName, expiresAt }[]
list_flow_ownersenvironment?, flow{ principalId, principalType, roleName, principalDisplayName }[]
Write (require ENABLE_WRITE_OPS=true)
ToolParameters
create_flowenvironment?, displayName, definition, connectionReferences?, state?
update_flowenvironment?, flow, any of displayName / definition / state / connectionReferences
delete_flowenvironment?, flow, confirm (must be true)
enable_flow / disable_flowenvironment?, flow
cancel_flow_runenvironment?, flow, run
resubmit_flow_runenvironment?, flow, run, trigger
add_flow_ownerenvironment?, flow, principalId, roleName (CanEdit\CanView)
remove_flow_ownerenvironment?, flow, principalId

Authoring (`create_flow`/`update_flow`): definition is the raw Logic Apps-style

workflow JSON (see get_flow output as a template). The visual designer is better for

complex logic; for edits, get_flow → modify the definition → pass it back to update_flow.

When environment is omitted, tools use DEFAULT_ENVIRONMENT if set, else the discovered default environment (isDefault: true).

Built-in (from SomaMCP)
  • info MCP tool — server name, version, git SHA, capability counts.
  • report_feedback — file API‑drift/bug reports as GitHub issues (FEEDBACK_GITHUB_REPO, GITHUB_TOKEN).
  • HTTP endpoints /health, /health/detail, /info, /dashboard (the detailed ones are protected by MCP_API_KEY when set).

Configuration

See .env.example for the full list. Highlights: AZURE_CLIENT_ID (required), AZURE_TENANT_ID (common), AZURE_AUTH_MODE, TRANSPORT (stdio\|http), PORT, ENABLE_WRITE_OPS, DEFAULT_ENVIRONMENT, MCP_API_KEY, TELEMETRY, TOKEN_CACHE_PATH.

Transports & deployment

ScenarioTransportAuthNotes
Local agentstdiodevice-codePrimary. Full reach. pnpm dev:stdio.
Docker, single operatorhttpdevice-code + mounted token volumeAuth once via docker logs; persists. Full reach. docker compose up.
Docker, unattendedhttpclientCredentialsNo human, but no personal flows; verify it can mint a Flow token at all.

[!WARNING]

The HTTP transport is single-operator. Every caller shares one Power Automate

identity: the server holds a single process-wide token (one device-code sign-in, or one

app identity), and MCP_API_KEY is a shared static bearer that gates _access_, not

_identity_. Do not expose the HTTP endpoint to multiple users expecting per-user

separation — they would all see and mutate the same person's flows. For per-user

isolation, run stdio (one process per user, how Claude Desktop already runs it) or

wait for the v2 per-user OAuth path

(#9).

v2: per‑user browser OAuth over HTTP via FastMCP's AzureProvider + disk token cache

(the upstream token surfaces on the session). Reachable through SomaMCP's backendOptions

passthrough without a fork — not wired in v1.

# Docker (single-operator device-code with a persisted token volume)

AZURE_CLIENT_ID=... docker compose up --build docker compose logs -f # grab the device code on first run curl -s http://localhost:3333/health

Development

pnpm validate        # format + lint + typecheck + test + build

pnpm test # vitest (unit) pnpm dev # http transport, watch pnpm dev:stdio # stdio transport, watch pnpm build # tsdown -> dist/

Integration tests that hit a r

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

ถาม PopNx