protogrid

Search / io.github.pcfhub/pcfhub

PCFHub

R0· no sign-in

Find Power Apps PCF controls, read their docs, and validate pcfhub.json manifests.

v1.0.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality94strong
Trust77of 100
Uptime, 30 days100%
Latency p501264 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "pcfhub": {
      "type": "http",
      "url": "https://pcfhub.dev/mcp"
    }
  }
}
claude mcp add --transport http pcfhub https://pcfhub.dev/mcp
[mcp_servers.pcfhub]
url = "https://pcfhub.dev/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "pcfhub": {
      "type": "remote",
      "url": "https://pcfhub.dev/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "pcfhub": {
      "type": "http",
      "url": "https://pcfhub.dev/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=pcfhub&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vcGNmaHViLmRldi9tY3AifQ%3D%3D"
}
{
  "servers": {
    "pcfhub": {
      "type": "http",
      "url": "https://pcfhub.dev/mcp"
    }
  }
}
{
  "mcpServers": {
    "pcfhub": {
      "httpUrl": "https://pcfhub.dev/mcp"
    }
  }
}
extensions:
  "pcfhub":
    enabled: true
    name: "pcfhub"
    type: streamable_http
    uri: "https://pcfhub.dev/mcp"
    timeout: 300

Quality 94 / 100strong

protocol100 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • pass
    protocol.list_ttltool list is cacheable (ttlMs 3600000)
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations8 of 8 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_doc_page (destructiveHint, openWorldHint); search (destructiveHint, openWorldHint); list_components (destructiveHint, openWorldHint); …
  • pass
    tools.token_costabout 1,875 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes4 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

8 tools, about 1,875 tokens to load them all · tool set e733a86b8bb0 · tools last changed 2026-10-05 · checked 2026-10-20 03:05 UTC

Tool changes

  • get_componentchangedoutput schema
  • list_componentschangedoutput schema
  • validate_manifestchangedoutput schema
  • searchchangedoutput schema

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 77 / 100

no-repository
provenance45
liveness100
freshness85
hygiene80

+website +reachable +uptime-100% ~updated-36d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://pcfhub.dev/mcp streamable-httpnoneyes100%1264 ms2026-07-282026-10-19

Tools (8)

get_componentread-onlyEverything about one control by its slug: what it does, its control type, license and repository, the current release's properties, and download links for its solutions. Use it once search or list_components has given you a slug; use get_doc_page for installation and configuration instructions, which this does not return. An unknown slug, or a version the control never released, returns an error naming the tool to call instead. include_versions and include_related each cost an extra query, so leave them off unless you need the release history or similar controls.
get_doc_pageread-onlyRead one documentation section of a control as Markdown — installation steps, canvas or model-driven configuration, examples, limitations. Use list_doc_sections first for the sections that control publishes; use get_component instead for the structured property reference. Passing a version returns the documentation pinned to that release rather than the current page. A section the control does not document returns an error pointing at list_doc_sections, and the Markdown comes back without the frontmatter the site keeps.
list_componentsread-onlyBrowse the PCFHub catalog by category, tag, author, control type, host or text, paged and sorted. Use it to enumerate or narrow the catalog; use search for a plain-language question about what a control should do, and get_component for one control in full. Filters take slugs, which list_taxonomy supplies. Nothing here fails on bad input: an unrecognised sort falls back to the default, and filters matching nothing return an empty page — so read `total` and `sort` from the result rather than assuming the filters applied.
list_doc_sectionsread-onlyThe documentation sections one control publishes — overview, installation, canvas, model_driven, examples, limitations and so on — each with its title and URL. Use it before get_doc_page to learn which sections that control actually has; it returns no page content, and get_component covers the property reference. A control with no documentation and a slug that does not exist return the same error on purpose, so fall back to search rather than concluding the slug is wrong.
list_releasesread-onlyThe most recent releases across every control on PCFHub, newest first: which control, which version, whether it is a prerelease, and when it shipped. Use it for what has changed hub-wide; for one control's own history call get_component with include_versions instead. Bounded by limit, at most 50, and not paged — there is no cursor, so it cannot walk back beyond the newest 50.
list_taxonomyread-onlyThe vocabulary list_components filters by: the category tree, the tags in use, the authors with a published control, or the hosts a control can run in, each with its slug and a count. Use it to turn a name a person used into a slug; it returns no controls, so pass the slug to list_components to see them. Not paged — categories come back as a full tree and authors as a full list, while tags are capped at the 500 most used.
searchread-onlyFull-text search across every published PCF control and its documentation, ranked by relevance. Use it when you know what a control should do but not what it is called; use list_components instead to filter by category, tag, author or control type, and get_component when you already have a slug. Returns control and documentation hits, each with a snippet and a URL. A query that matches nothing is an empty result rather than an error, and a misspelling may be answered with results for a corrected spelling, which the result states.
validate_manifestread-onlyCheck a pcfhub.json against the rules PCFHub applies when it publishes a control: the schema version, the control block (namespace, constructor, type and framework), the demo's fidelity, bundle and presets, the media files it declares, and the release artifacts it expects to find. Use it while writing or reviewing that file, before a release is tagged. An invalid manifest is an ordinary result — valid false, with errors that block publishing and warnings that do not, each carrying the JSON pointer it applies to — so read the result rather than retrying. Only an empty, unreadable or oversized manifest (over 64 KB) is an error.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.pcfhub/pcfhub",
  "title": "PCFHub",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://pcfhub.dev/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.0",
  "websiteUrl": "https://pcfhub.dev/api",
  "description": "Find Power Apps PCF controls, read their docs, and validate pcfhub.json manifests."
}