mirror of
https://github.com/github/awesome-copilot.git
synced 2026-03-12 12:15:12 +00:00
* feat: add power-automate-mcp skill
Connect to and operate Power Automate cloud flows via a FlowStudio MCP server.
Includes tool reference, action types, connection references, and bootstrap guide.
* fix: rename skill & address review feedback
- Rename power-automate-mcp → flowstudio-power-automate-mcp
- Fix list_live_flows docs: returns wrapper object {mode, flows, totalCount, error}, not direct array
- Fix next() syntax: add parens for generator with default arg
- Add User-Agent header to tools/list discovery example
- Standardize User-Agent to FlowStudio-MCP/1.0 (required by Cloudflare)
- Add environmentName note for list_live_connections (required despite schema)
- Update list_live_flows response shape in tool-reference.md
All response shapes verified against live MCP server.
54 lines
1.6 KiB
Markdown
54 lines
1.6 KiB
Markdown
# MCP Bootstrap — Quick Reference
|
|
|
|
Everything an agent needs to start calling the FlowStudio MCP server.
|
|
|
|
```
|
|
Endpoint: https://mcp.flowstudio.app/mcp
|
|
Protocol: JSON-RPC 2.0 over HTTP POST
|
|
Transport: Streamable HTTP — single POST per request, no SSE, no WebSocket
|
|
Auth: x-api-key header with JWT token (NOT Bearer)
|
|
```
|
|
|
|
## Required Headers
|
|
|
|
```
|
|
Content-Type: application/json
|
|
x-api-key: <token>
|
|
User-Agent: FlowStudio-MCP/1.0 ← required, or Cloudflare blocks you
|
|
```
|
|
|
|
## Step 1 — Discover Tools
|
|
|
|
```json
|
|
POST {"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}
|
|
```
|
|
|
|
Returns all tools with names, descriptions, and input schemas.
|
|
Free — not counted against plan limits.
|
|
|
|
## Step 2 — Call a Tool
|
|
|
|
```json
|
|
POST {"jsonrpc":"2.0","id":1,"method":"tools/call",
|
|
"params":{"name":"<tool_name>","arguments":{...}}}
|
|
```
|
|
|
|
## Response Shape
|
|
|
|
```
|
|
Success → {"result":{"content":[{"type":"text","text":"<JSON string>"}]}}
|
|
Error → {"result":{"content":[{"type":"text","text":"{\"error\":{...}}"}]}}
|
|
```
|
|
|
|
Always parse `result.content[0].text` as JSON to get the actual data.
|
|
|
|
## Key Tips
|
|
|
|
- Tool results are JSON strings inside the text field — **double-parse needed**
|
|
- `"error"` field in parsed body: `null` = success, object = failure
|
|
- `environmentName` is required for most tools, but **not** for:
|
|
`list_live_environments`, `list_live_connections`, `list_store_flows`,
|
|
`list_store_environments`, `list_store_makers`, `get_store_maker`,
|
|
`list_store_power_apps`, `list_store_connections`
|
|
- When in doubt, check the `required` array in each tool's schema from `tools/list`
|