Power Platform Skills
Everything you need to install, configure, and use the PP Skills MCP server with your AI agent.
Overview
Power Platform Skills is an MCP (Model Context Protocol) server that gives any AI agent expert-level Microsoft Power Platform development knowledge. One install command, and your AI assistant knows how to build Dataverse schemas, Power Apps, Power Automate flows, PCF controls, plugins, Power BI reports, and more.
Endpoint
api.ppskills.dev/mcp
Protocol
MCP (Streamable HTTP)
Skills
209 total
Playbooks
9 end-to-end
Installation
Free tier — no API key needed
claude mcp add power-platform-skills --transport http https://api.ppskills.dev/mcp
Restart Claude Code after installing.
With Pro API key
claude mcp add power-platform-skills --transport http https://api.ppskills.dev/mcp --header "Authorization: Bearer sk_pro_YOUR_KEY_HERE"
https://api.ppskills.dev/mcp. Add Authorization: Bearer sk_pro_... header for pro access.MCP Tools
The server exposes 5 tools. Your AI calls these automatically when you ask Power Platform questions.
list_skills
No arguments
Returns a structured catalog of everything available — playbooks and skills grouped by category. The AI should call this first when starting any Power Platform task.
User: "What Power Platform skills do you have?" AI calls: list_skills() → Returns catalog with playbooks + all skills by category
get_skill
skill_id (string, required)
Fetches a specific skill by its exact ID. Returns the full expert knowledge — API endpoints, JSON schemas, code patterns, best practices.
User: "How do I create a Dataverse table?"
AI calls: get_skill({ skill_id: "dataverse-web-api--tables-entities" })
→ Returns full guide with exact API endpoints, JSON payloads, and gotchasget_playbook
playbook_id (string, required)
Returns a step-by-step playbook for building something end-to-end. Each step tells the AI exactly which skill to load and what to do with it.
User: "Build me a Power BI report from this data"
AI calls: get_playbook({ playbook_id: "build-power-bi-report" })
→ Returns 8-phase guide, AI follows each step calling get_skill() as directedget_playbook_phase
playbook_id (string, required), phase (string, required)
Loads a specific phase from a playbook with all its skill content bundled in one response. Use this instead of calling get_skill multiple times per phase — ensures the AI has every resource it needs.
AI calls: get_playbook_phase({ playbook_id: "build-power-bi-report", phase: "Phase 4" })
→ Returns Phase 4 instructions + full content of all 4 required skillssearch_power_platform_skills
query (string, required), max_results (number, 1-5, default 3)
Keyword search across all skills. Use when exploring a topic without knowing the exact skill ID.
User: "How do adaptive cards work in Power Automate?"
AI calls: search_power_platform_skills({ query: "adaptive cards" })
→ Returns matching skill content with code examplesRecommended flow
list_skills()
See what's available
get_playbook(id)
Step-by-step guide
get_playbook_phase()
Phase + all skills
search(query)
Explore by keyword
Skills Reference
Each category has an orchestrator skill (the --skill suffix) that defines the workflow, plus resource skills with detailed reference material.
Basic Tier
Free63 files across 8 categoriesPro Tier
Pro116 additional files across 14 categoriesEverything in Basic, plus:
Playbooks
Playbooks are the most powerful feature. They turn the AI into a guided builder that follows a proven step-by-step process.
Set Up New Power Platform Environments
setup-new-power-platform-environmentsEnd-to-end provisioning for a new customer tenant — identity, nested security groups, envs, DLP, Managed Environments, Environment Groups, publisher, backup, and handoff. First step in the ALM trilogy.
| Phase | Name | What Happens |
|---|---|---|
| Phase 0 | Preflight & Config | Interactive interview, tenant + SKU + role checks, render plan |
| Phase 1 | Identity Foundation | SPN + nested ALLOW/ADMINS/MAKERS/USERS Entra groups per env + SVC accounts |
| Phase 2 | Tenant Settings + Baseline DLP | Governance toggles + tenant-wide safety-net DLP before any envs exist |
| Phase 3 | Provision Environments | Create N envs with security group + Managed + env group in one POST |
| Phase 4 | Dataverse Teams + App User | Teams bound to role groups, SPN as app user, SVC sync |
| Phase 5 | Managed Environments | Verify protectionLevel=Standard, remediate stragglers |
| Phase 6 | Environment Groups + Rules | Create groups, assign envs, publish rules (conditional) |
| Phase 7 | Default Env Hardening | Lock down Default env + env routing to Personal Productivity |
| Phase 8 | Publisher + Core Solution | Customer publisher in Dev; rides with solution downstream |
| Phase 9 | Backup + Observability | Retention per env; optional App Insights wiring |
| Phase 10 | Full DLP Rollout | 6-policy baseline with optional impact assessment via CoE |
| Phase 11 | Validation + Handoff | Health check + markdown handoff doc |
Set Up Power Platform DevOps Pipelines
setup-power-platform-devopsOne-time ADO setup per customer — ADO project, repo, wiki, service connections with WIF federated credentials, ADO Environments with approvals, golden-path pipeline scripts on main. Second step in the ALM trilogy.
| Phase | Name | What Happens |
|---|---|---|
| Phase 0 | Interview + Config | Batched questions with defaults, auto-resolve env-onboarding manifest, render plan |
| Phase 1 | ADO Project + Repo + Wiki | Create project, repo, code wiki with Environments/Solutions/Runbooks page hierarchy |
| Phase 2 | PP Service Connections | One powerplatform-spn SC per env with creationMode=Manual (draft, returns issuer+subject) |
| Phase 3 | WIF Federated Credentials | One FIC on the SP per service connection using the returned issuer+subject |
| Phase 3b | Validate Service Connections | Trigger SC validation — confirms WIF round-trip works before any pipeline runs |
| Phase 4 | ADO Environments + Approvals | Create PowerPlatform-{STAGE|UAT|PROD} with approval checks + exclusive lock on PROD |
| Phase 5 | Golden-Path Scripts on main | CommonTasks.ps1 + seed-variable-groups.sh + generate-checklist.sh + checklist-live-checks.py + wiki scripts |
| Phase 6 | Validation Deploy | Optional hello-world through deploy-power-platform-solution to prove the chain |
Deploy a Power Platform Solution
deploy-power-platform-solutionPer-solution ALM journey — scaffold, build with deployment settings + variable groups, release with modern approvals, post-deploy Entra groups + DV teams + canvas sharing, live-checked checklist + auto wiki pages. Third step in the ALM trilogy.
| Phase | Name | What Happens |
|---|---|---|
| Phase 0 | Interview + Config | Reads both prior manifests, batches questions with defaults, saves solution.yaml |
| Phase 1 | Scaffold in Repo | Solution branch (orphan), Pipelines/<solution>.yml, config/<solution>/, seed scripts |
| Phase 2 | Build Pipeline | Version → export managed/unmanaged → unpack → pac create-settings → seed vars → checklist → artifact |
| Phase 3 | ADO Environments Wiring | Reuse the project-level environments from devops playbook, confirm approvals per stage |
| Phase 4 | Populate Variable Groups | Operator fills connection IDs + env var values per upper env (guided) |
| Phase 5 | Release Pipeline | Multi-stage YAML with token replace → live checklist gate → backup → import → access provisioning → wiki update |
| Phase 6 | First Release + Verify | Run through target stages, verify apps open, DV teams/roles bound, wiki reflects state |
| Phase 7 | Solution Wiki Pages | Overview (manual seed) + Checklist + Access Map + Deployments (all auto-updated) |
Enable Dataverse SharePoint Document Management
enable-dataverse-sharepoint-document-managementEnables native SharePoint documents from Dataverse records — table flags, SharePoint site/location rows, model-driven Documents tabs, metadata subgrids, upload automation, validation, and UAT/PROD promotion.
| Phase | Name | What Happens |
|---|---|---|
| Phase 0 | Inventory + Scope | Select tables, forms, metadata tables, upload paths, and environments |
| Phase 1 | Prerequisites | Run the manual SharePoint integration wizard, then confirm site access, connection refs, roles, and env vars |
| Phase 2 | Enable Metadata | Set IsDocumentManagementEnabled via PUT full-definition + MSCRM.MergeLabels |
| Phase 3 | Locations + Folders | Create sharepointsite, document location hierarchy, and physical folders |
| Phase 4 | Forms | Add Documents tabs with sharepointdocument grids and metadata subgrids |
| Phase 5 | Upload Automation | Wire flows/functions to upload files and write Dataverse metadata/timeline notes |
| Phase 6 | Validation | Smoke test table flags, forms, Graph folders, connection refs, metadata rows, and notes |
| Phase 7 | Promote | Parameterize and rerun for UAT/PROD without copying DEV IDs |
Build a Power BI Report
build-power-bi-reportTakes raw data to a polished, story-driven Power BI report (PBIP format).
| Phase | Name | What Happens |
|---|---|---|
| Phase 0 | Data Discovery | Profile semantic model, discover measures, flag data issues |
| Phase 1 | Story Finding | Explore data for insights, build narrative arc, critique until 9/10 |
| Phase 1.5 | Data Model Prep | Map insights to measures, identify model enhancements |
| Phase 2 | Report Design | Progressive page specs with critique loops — theme, cover, pages, interactions |
| Phase 2.5 | Architecture | Plan PBIP folder structure and build sequence |
| Phase 3 | Specification | Exact positions, data bindings, formatting for every visual |
| Phase 4 | Build PBIP | Assemble folder structure — scaffold, theme, pages, interactions |
| Phase 5 | Visual QA | 6-tier progressive QA from "does it open?" to "can we elevate it?" |
Build a Power Platform Solution
build-dataverse-solutionTakes an idea to a fully deployed Power Platform solution.
| Phase | Name | What Happens |
|---|---|---|
| Phase 1 | Spec & Plan | 11-phase spec pipeline: research, requirements, design, build plan |
| Phase 2 | Solutions & Publisher | Multi-solution structure (CoreData, Apps, Automation, Analytics) |
| Phase 3 | Schema — Tables & Columns | Table shells sequential, columns parallel per table |
| Phase 4 | Schema — Relationships | Lookups, N:N, cascade behaviors |
| Phase 5 | Security | Roles, column security, team access |
| Phase 6 | Model-Driven App | Forms, views, business rules, app module — all parallel |
| Phase 7 | Web Resources & Code Apps | JS scripts, ribbon buttons, HTML dashboards, embedded apps |
| Phase 8 | Automation | Power Automate flows + C# plugins |
| Phase 9 | Publish & Test | Publish all, API validation, browser E2E testing |
Triage a DevOps Ticket
triage-devops-ticketReads Azure DevOps work items, classifies them, investigates the environment for bugs, and posts actionable triage comments. For user stories, creates child tasks with step-by-step instructions.
| Phase | Name | What Happens |
|---|---|---|
| Phase 1 | Read & Understand | Fetch work item, extract fields, check linked items and activity |
| Phase 2 | Classify | Bug / Feature / Config / Question — estimate severity |
| Phase 3 | Investigate Environment | For bugs: check flows, plugins, forms, security in Power Platform |
| Phase 4 | Diagnose / Plan | Bugs: root cause + fix. Stories: break into tasks. Questions: answer |
| Phase 5 | Update Ticket | Post triage comment, update fields/tags, create child tasks |
Daily Ops Report
daily-ops-reportOvernight environment health check — solution imports, failed flows, plugin errors, stale flows, connection health, storage, and security alerts. Produces a scored HTML email.
| Phase | Name | What Happens |
|---|---|---|
| Phase 1 | Authenticate & Configure | Get Dataverse, Power Apps, and Admin API tokens. Set 24h window |
| Phase 2 | What Happened Overnight | Solution imports — Microsoft updates, third-party, failures |
| Phase 3 | Failed Flows & Plugins | Failed flow runs grouped by error, plugin trace log exceptions |
| Phase 4 | Stale Flows | Draft, suspended, or inactive flows not run in 30+ days |
| Phase 5 | Environment Changes | Modified flows, plugins, apps — who changed what and when |
| Phase 6 | Connection Health | Broken connections, unlinked references, expiring tokens |
| Phase 7 | Storage & Capacity | Database, file, log usage with delta from last report |
| Phase 8 | Security Alerts | New users, role changes, sharing changes, privilege modifications |
| Phase 9 | Generate & Send | Compile scored HTML report and email it |
What's New Newsletter
whats-new-newsletterWeekly digest of Power Platform updates — release notes, blog posts, environment changes, Message Center alerts, and community videos. Designed for Monday morning delivery.
| Phase | Name | What Happens |
|---|---|---|
| Phase 1 | Authenticate & Configure | Set YouTube API key + optional Graph token, 7-day window |
| Phase 2 | Release Notes | Scrape release plan for features that went GA or preview this week |
| Phase 3 | Blog Posts | Parse RSS feeds from Power Apps, Power Automate, and Power BI blogs |
| Phase 4 | Community Videos | Fetch recent videos from Power Platform YouTube creators |
| Phase 5 | Message Center | Optional: service announcements and deprecations via Graph API |
| Phase 6 | Generate & Send | Compile styled HTML newsletter and email it |
Example Prompts
Copy-paste these into your AI agent to try PP Skills.
Getting Started
What Power Platform skills do you have?
Power BI Report — Full Build
I want to build a Power BI report from my sales data. The semantic model is already deployed to Fabric workspace "Sales Analytics". Start with the playbook for building a Power BI report and guide me through each phase.
Power BI Report — Quick
Create a Power BI report that shows monthly revenue trends, top 10 customers by revenue, and a regional breakdown. Use a dark theme with accent green. The semantic model has tables: Sales, Customers, Products, Calendar.
Dataverse Solution — Full Build
Create a spec for a customer complaints management system. It needs: a complaints table with status tracking, an approval flow for escalations, a model-driven app for support staff, and a dashboard showing resolution times. Follow the full Power Platform solution playbook.
Dataverse Table Creation
Create a Dataverse table called "Project" with columns: Name (text), Status (choice: Not Started/In Progress/Completed/On Hold), Start Date (date), End Date (date), Budget (currency), Owner (lookup to systemuser), and Priority (choice: Low/Medium/High/Critical). Add it to a solution called "ProjectTracker" with publisher prefix "pt".
Power Automate Flow
Build a Power Automate flow that triggers when a new record is created in the "Support Ticket" Dataverse table. If Priority is "Critical", send an approval request to the team lead with an Adaptive Card showing ticket details. If approved, update the ticket status to "Escalated" and send a Teams notification.
Model-Driven App
Build a model-driven app for the HR onboarding system. It needs: a sitemap with areas for "Onboarding" (new hire records, tasks, documents) and "Admin" (settings, templates). Create Main forms with tabs for Details, Tasks, and Documents. Add quick create forms for new hires and tasks.
SharePoint Documents
Enable native SharePoint document management for Account, Project, Invoice, Expense, and Meeting Note tables. Add Documents tabs to the main forms, add document metadata subgrids where relationships exist, and create a validation smoke test.
PCF Control
Create a PCF control that displays a star rating (1-5 stars) for a whole number field. It should be interactive (clickable), show hover states, and work on both main forms and editable grids. Use React for the rendering.
Plugin Development
Write a C# plugin that runs on Pre-Create of the "Invoice" table. It should auto-generate a sequential invoice number in the format "INV-2026-00001" by querying the latest invoice and incrementing. Register it as a synchronous pre-operation step.
Code Review
Review the Dataverse solution in this directory. Check for: security role gaps, missing form validations, flow error handling, plugin registration issues, and any schema design problems. Use the code review skill for the audit.
Web Resources
Create a JavaScript web resource for the Contact form that: shows/hides the "Company Name" field based on the Contact Type choice, auto-populates the "Full Name" field from First + Last name on change, and validates that Email is filled when Contact Type is "Business". Register it on the Main form.
Visual QA
QA the Power BI report I just built. Open it in Desktop, go through all pages, and run the full 6-tier visual review. Score each page and give me specific fixes for anything below 9/10.
Triage DevOps Tickets
Triage my Azure DevOps tickets. Org is "MyOrg", project is "MyProject". Use the triage playbook. Do the bugs and user stories — for bugs give me root cause and fix steps, for user stories break them into child tasks with step-by-step instructions.
Daily Ops Report
Run the daily-ops-report playbook for my Power Platform environment. Org: https://contoso.crm6.dynamics.com. Check everything — solution imports, failed flows, connections, storage, security — and generate the HTML report.
What's New Newsletter
Run the whats-new-newsletter playbook. Check this week's Power Platform release notes, blog posts, and what Microsoft solutions updated in my environment (https://contoso.crm6.dynamics.com). Generate the HTML email.
Pricing
| BasicFree | Pro$45/mo | Team$149/mo | Org$399/mo | |
|---|---|---|---|---|
| Skills | 67 (12 categories) | 209 (all) | 209 (all) | 209 (all) |
| Playbooks | — | 9 | 9 | 9 |
| Requests/hour | 60 | 1,000 | 5,000 | 100,000 |
| API Keys | No key needed | 1 key | 10 keys | Unlimited |
| Support | — | Priority | Dedicated + PO/Invoice |
FWhat's in Basic (Free)?
- Azure DevOps (1 resource)
- Power Platform Diagnostics (1 resource)
- Dataverse Web API (20 resources)
- Dataverse Plugins (5 resources)
- Dataverse Web Resources (9 resources)
- PCF Controls (4 resources)
- Power Apps Code Apps (9 resources)
- Plan with Team (6 resources)
- Code Review (5 resources)
- Visual QA (5 resources)
- YouTube Transcript (1 resource)
PWhat does Pro add?
- Playbooks — guided end-to-end builds
- Power Automate (11 resources)
- Power BI Report (29 resources)
- Power BI Model (9 resources)
- Power BI Story (16 resources)
- Power Platform Spec (12 resources)
- PBI Review — offline + online (22 resources)
- PBI Smoke Test (4 resources)
- Additional Dataverse — BPF, dashboards, schemas
- Dataverse SharePoint document management
API Reference
Endpoint
POST https://api.ppskills.dev/mcp
MCP (Model Context Protocol) using Streamable HTTP transport. All requests are JSON-RPC 2.0.
Authentication
Authorization: Bearer sk_pro_... headerHealth Check
GET https://api.ppskills.dev/health\n→ {"status":"ok","service":"ppskills-mcp"}Rate Limits
| Tier | Requests/Hour |
|---|---|
| Basic | 60 |
| Pro | 1,000 |
| Team | 5,000 |
| Org | 100,000 |
When exceeded, returns HTTP 429 with Retry-After: 60 header.
Security & Trust
PP Skills is a read-only documentation server. It has no ability to access your environment, and it never sees your data. Here is exactly how the architecture works.
How the connection works
Your AI agent connects to our API at api.ppskills.dev/mcp over HTTPS and sends a JSON-RPC request asking for a skill or search result. We return markdown content — documentation, code patterns, and best practices. That's the entire interaction.
Your agent then uses that knowledge to act on your behalf in your own environment, using your own credentials stored on your machine. We are never part of that second step. We have no connection to your Dataverse instance, your Azure tenant, your DevOps organisation, or any other service you use.
Think of it like a reference book — your agent reads it, then goes and does the work. The book never touches the project.
What we store
We store the absolute minimum required to run the service. Nothing else is logged, cached, or retained.
| Data | Purpose | Stored in |
|---|---|---|
| Email address | Account identification and billing | Stripe |
| API key hash | Request authentication | Cloudflare KV |
| Hourly request count | Rate limiting | Cloudflare KV (auto-expires) |
We do not store your search queries, tool call history, request bodies, IP addresses, or any content your agent generates.
What we never do
Execute code in your environment
The MCP server is read-only. It returns text. It cannot run commands, call APIs on your behalf, or interact with any external service.
Connect to your Dataverse, Azure, or DevOps
We have no access to your tenant, subscriptions, or service principals. Your agent uses its own credentials locally after reading our skills.
See your credentials or tokens
Your environment credentials (service principals, connection strings, OAuth tokens) never leave your machine. They are used by your local AI agent, not by our server.
Log or retain your queries
Request bodies are not logged. We track a numeric request count for rate limiting — that count auto-expires hourly and contains no content.
Access or store customer data
We never see the data your agent works with. If your agent builds a Dataverse table or Power BI report, that happens entirely in your environment.
Train models on your interactions
We do not use any request data for training, fine-tuning, or analytics. We are a documentation server, not an AI provider.
Infrastructure
| Layer | Provider | Details |
|---|---|---|
| API server | Cloudflare Workers | Edge-deployed, SOC 2 Type II, ISO 27001 certified |
| Data storage | Cloudflare KV | Encrypted at rest, API keys and rate limit counters only |
| Payments | Stripe | PCI DSS Level 1 — we never see or store card numbers |
| Transport | HTTPS / TLS 1.3 | All traffic encrypted in transit, no plaintext endpoints |
| Source code | GitHub (public) | Server code is open-source — audit the full request path yourself |
API key security
Pro, Team, and Org API keys are prefixed with sk_pro_, sk_team_, or sk_org_ so they are easy to identify in your configuration files. Keys are sent via the standard Authorization: Bearer header over HTTPS.
If a key is compromised, you can rotate it immediately from your Stripe billing portal. The old key is revoked and a new one is issued. Your API key only grants access to PP Skills content — it cannot be used to access any other service.
FAQ
Do I need to know which skill to ask for?
No. Just ask your question naturally. The AI will call list_skills or search_power_platform_skills to find the right skill automatically.
What AI clients work with this?
Any MCP-compatible client: Claude Code, Claude Desktop, VS Code (Copilot, Continue), Cursor, Windsurf, GitHub Copilot, Copilot Studio, Azure AI Foundry, and more.
How current is the knowledge?
Skills are updated weekly with the latest API patterns, schema changes, and best practices. More current than any AI's training data.
Can I use it for real production work?
Yes. The skills contain production-grade patterns with exact API endpoints, JSON schemas, error handling, and security considerations. The playbooks follow battle-tested build processes.
What's the difference between skills and playbooks?
Skills are reference material (API docs, code patterns, best practices). Playbooks are step-by-step guides that tell the AI which skills to load and what to do at each phase of a big build.
I'm on the free tier — what can I do?
Build Dataverse schemas (tables, columns, relationships, forms, views), write plugins, create PCF controls, build code-first Power Apps, and more. The free tier covers the core data layer and app building.
What does Pro add?
Power Automate flows, Power BI reports (the full story-driven pipeline), Dataverse SharePoint document management, the spec pipeline for generating solution designs, advanced web resources, and the playbooks for end-to-end guided builds.
Ready to get started?
Install in 30 seconds. Free to start. No credit card required.