capacitor-mcp
Server Details
Unofficial MCP server for the Capacitor documentation, plugin list and blog.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- capawesome-team/capacitor-mcp
- GitHub Stars
- 0
- Server Listing
- Capacitor MCP Server
TDQS
Each tool has a clearly distinct purpose: searching docs vs retrieving a full doc page vs listing blog posts vs listing plugins. No overlapping or ambiguous responsibilities.
All names follow a verb_noun pattern (get_doc_page, list_blog_posts, list_plugins, search_docs), though the verbs vary between get, list, and search. Consistent enough to be predictable.
Four tools is well-scoped for a Capacitor documentation and ecosystem server, covering the primary needs without unnecessary bloat.
The server covers documentation search/retrieval, blog listing, and plugin discovery. Minor gaps like direct version listing or community resource search exist, but the core domain is well covered.
Available Tools
4 toolsget_doc_pageRead a documentation pageARead-onlyInspect
Read the full markdown of a single page of the official Capacitor documentation. Use this after search_docs to read a page end to end before writing code against a plugin API, a CLI command or a native configuration, because search snippets are deliberately short and regularly omit required setup steps. Returns the page title, its URL, the documentation version and the complete page markdown including code samples. Do not use this to find a page: it needs an exact URL or path, so run search_docs first. Do not use it for pages outside capacitorjs.com — Capawesome plugins and Capawesome Cloud are covered by the Capawesome MCP server at https://mcp.capawesome.io/mcp, Ionic Framework UI components by the Ionic Framework MCP server at https://ionic-framework-mcp.capawesome.io/mcp.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The page URL or site-relative path, e.g. "https://capacitorjs.com/docs/apis/camera", "apis/camera" or "ios/configuration". An anchor is ignored; the whole page is returned. | |
| version | No | Optional. Capacitor docs version. Defaults to v8. Match the major version of @capacitor/core in the user's package.json. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/openWorld/destructive hints. The description adds behavioral details such as returning the page title, URL, version, and full markdown, and that anchors are ignored. This goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: purpose, usage, return value, negative usage, and alternatives are presented in a logical order. It is detailed yet concise, with no redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers when to use, when not to use, what is returned, and how to handle version matching. It even mentions the need to match the user's package.json version, providing sufficient context for an agent to invoke the tool correctly without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema itself provides thorough descriptions for both parameters (url with examples and anchor note, version with enum and default). The tool description adds no extra parameter semantics beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: reading the full markdown of a single Capacitor documentation page. It also differentiates itself from siblings like search_docs by noting that it returns complete pages rather than snippets, and mentions the exact domains it covers and excludes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance is provided: use after search_docs to read full pages, do not use to find pages, and do not use for non-capacitorjs.com domains (with alternative tools named). This gives clear when-to-use and when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_blog_postsList recent blog postsARead-onlyInspect
List the 10 most recent posts from the Capacitor tag of the official Ionic blog, newest first. Use this when the question is about what is new — recent releases, announcements or deprecations. The blog covers both Capacitor and Ionic Framework. Returns title, date, tags, url and excerpt per post. Do not use this to answer a documentation question: the feed only carries the newest posts, so search the documentation with search_docs instead.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and non-destructive nature. The description adds that it returns the 10 most recent posts and that the feed carries only the newest posts, giving some limitation context but not rich behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, action-oriented, and logically structured with usage guidance and return details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, and the description covers purpose, usage, return values, and exclusions, making it complete without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the baseline of 4 applies. The description doesn't need to add parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it lists the 10 most recent blog posts from the Capacitor tag, and explicitly differentiates from search_docs for documentation questions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use ('when the question is about what is new') and when-not-to-use ('Do not use this to answer a documentation question') with a pointer to the alternative search_docs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_pluginsList Capacitor pluginsARead-onlyInspect
List Capacitor plugins: the official plugins maintained by the Capacitor team and community plugins from the awesome-capacitorjs list maintained by Capawesome. Use this to find a plugin for a native capability before writing custom native code, and to learn which package name and maintainer a capability belongs to. Returns name, description, source, maintainer and url per plugin, plus core: true for a plugin that ships with @capacitor/core and experimental: true for an experimental one. Results are ranked by relevance, with official Capacitor plugins ranked first, then plugins maintained by Capawesome, then other community plugins. Do not use this to read a plugin's API: call get_doc_page with the url of an official plugin, and use the Capawesome MCP server at https://mcp.capawesome.io/mcp for Capawesome plugins.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | The maximum number of items to return, e.g. 5. Defaults to 25, maximum 100. | |
| query | No | A free-text filter matching the package name or the description, e.g. "camera". Defaults to no filter. Optional. | |
| source | No | Which plugins to list: "official" for the plugins maintained by the Capacitor team, "community" for the awesome-capacitorjs entries, or "all" for both. Defaults to "all". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and non-destructive hints; the description adds behavioral details such as result ranking and defaults, enhancing transparency without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and informative, though it slightly redundantly repeats the official/community distinction. Overall, it remains concise and each sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fully explains the return fields (name, description, source, maintainer, url, core, experimental) and ranking behavior, providing complete context for a listing tool without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides full descriptions for all three parameters including enums and defaults. The description adds no significant extra semantic meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists Capacitor plugins, distinguishes official and community sources, and explicitly names the sibling tool get_doc_page for reading APIs, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use the tool ('find a plugin for a native capability before writing custom native code') and when not to use it, directing to get_doc_page and the Capawesome MCP server, providing clear usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_docsSearch Capacitor documentationARead-onlyInspect
Search the official Capacitor documentation from capacitorjs.com by keyword. Use this first for any question about Capacitor itself — the CLI, the capacitor.config file, the native Android and iOS projects, the official plugin APIs, or upgrading to a newer major version — because guessing an API, a configuration option or a CLI flag produces broken code. Returns the best matching page sections with title, url, snippet, section and version, plus the parentTitle and parentUrl of the page a section belongs to. The same results are attached as structured content. Do not use this to read a whole page (call get_doc_page with a url from these results), to look up Capawesome plugins such as @capawesome/capacitor-file-picker or Capawesome Cloud services such as Live Updates, Native Builds and App Store Publishing (use the Capawesome MCP server at https://mcp.capawesome.io/mcp instead), or to look up Ionic Framework UI components (use the Ionic Framework MCP server at https://ionic-framework-mcp.capawesome.io/mcp instead).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | The maximum number of items to return, e.g. 5. Defaults to 10, maximum 25. | |
| query | Yes | The search terms, e.g. "camera permissions android" or "live reload". Plain keywords work best; no search operators are supported. | |
| section | No | Restrict the search to one part of the documentation, e.g. "apis" for the official plugin references or "ios" for the native iOS guides. Defaults to searching every section. | |
| version | No | Optional. Capacitor docs version. Defaults to v8. Match the major version of @capacitor/core in the user's package.json. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals that the operation is read-only, so the bar is lower. The description adds useful behavioral detail: it returns page sections with specific fields (title, url, snippet, section, version) and notes that no search operators are supported, which helps set expectations. It does not contradict the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than the minimal example but every sentence adds value—purpose, usage, excluded scenarios, and output format are all covered without redundancy. It is well-structured and flows logically, though it could be slightly compressed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers everything an agent needs: when to use, what to search, what results look like, and what to avoid. Since an output schema exists, it does not need to detail return values, but it does anyway. It also addresses version matching and section restriction, making it self-contained for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides descriptions for all four parameters, giving 100% coverage. The description adds extra context by providing example queries and emphasizing that plain keywords work best, which goes beyond the schema. It also clarifies the effect of the version parameter indirectly by mentioning matching the user's package.json. This adds meaningful guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: searching the official Capacitor documentation by keyword. It also distinguishes itself from sibling tools by explicitly mentioning what it does not do (e.g., reading a full page, listing plugins) and by naming the sibling tools (get_doc_page, list_plugins).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance on when to use this tool ('Use this first for any question about Capacitor itself') and when not to use it, providing concrete alternatives for excluded cases (e.g., using get_doc_page for reading a whole page, using the Capawesome MCP server for plugins). This is highly actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
- First observed
get_doc_page - First observed
list_blog_posts - First observed
list_plugins - First observed
search_docs
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity – fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge – works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge – works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Unofficial MCP server for the Ionic Framework documentation, components and blog.
51The official MCP Server for the Mux API
Related MCP Servers
- MIT
- AlicenseBqualityBmaintenanceMCP server for asking questions about Cortex Cloud documentation64MIT
- AlicenseNot gradedqualityAmaintenanceOfficial MCP server for the s2.dev serverless stream platform13535MIT
- AlicenseNot gradedqualityAmaintenanceOfficial MCP Server for Buildkite.53MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.