FrontMCP docs
Server Details
FrontMCP's docs for coding agents: search, pages, APIs, examples and upgrades, by FrontMCP release.
- Status
- Healthy
- Uptime
- 100.0% over 20 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 9 tools
Each tool occupies a distinct slot in the retrieval workflow: browse (list_pages), full-text search (search_docs), symbol lookup (lookup_api), read (get_page), runnable code (get_example), skills (get_skill), version selection (get_versions / resolve_version) and diffs (whats_changed). The descriptions explicitly route between near-neighbors, e.g. 'for the docs themselves use search_docs or get_page, and for runnable code get_example' and 'for an API, option or error code by name, lookup_api is more precise'. The only mild overlap is the finder trio, but it is clearly tiered by intent.
Nearly all tools follow a consistent snake_case verb_noun pattern (get_page, list_pages, search_docs, lookup_api, resolve_version, whats_changed). The only deviation is whats_changed, which drops the underscore in 'whats' and reads as a phrase rather than verb_noun.
Nine tools sit squarely in the well-scoped range, and each covers a distinct capability of a documentation server (browse, search, lookup, read, examples, skills, versions, changelog). No tool appears redundant or like padding.
The read-only docs lifecycle is well covered end to end: discover a path, resolve the right version, read the page, pull runnable examples and skills, and diff releases for upgrades. Minor gaps remain, such as no search scoped to examples or skills specifically, and release notes are only reachable indirectly through get_versions or whats_changed.
Available Tools
9 toolsget_exampleGet a page's exampleARead-onlyInspect
Returns a runnable example from a FrontMCP docs page: the files of one of its Playgrounds, with their tests, as the docs run them. Without index, lists the page's Playgrounds (numbered from 1, in page order) with their section and files.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The page, like /reference/sdk/tool or a frontmcp.dev URL. | |
| index | No | Which Playground on the page, from 1. | |
| version | No | A documented FrontMCP version, like "1.9.4", or a minor, like "1.9", for its newest patch. Pass the version resolve_version found for the project. Defaults to the version this endpoint serves. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered; the description adds real value by disclosing the return shape in both modes (files with their tests as the docs run them; or a numbered list of Playgrounds with section and files). Since there is no output schema, this return-shape disclosure is doing meaningful work, though failure behavior for a bad path or out-of-range index is not mentioned.
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?
Two tight sentences, front-loaded with the primary behavior and then the fallback mode; every clause carries information. Density is high but nothing is redundant.
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?
For a read-only lookup tool with a fully documented schema, the description covers both operating modes and the returned content, which is what an agent needs to call it correctly. Error handling and whether `version` changes the returned example set are left unspecified.
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?
Schema coverage is 100%, so 3 is the baseline, but the description adds semantics the schema lacks: omitting `index` switches the tool into a listing mode, and numbering is page-order starting at 1. That is genuine added meaning beyond the schema's 'Which Playground on the page, from 1.'
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?
States a concrete verb and resource: it returns a runnable example (files + tests) from a FrontMCP docs page, and specifies the alternate mode when `index` is absent. This is clearly distinct from get_page or get_skill, though it never names a sibling to sharpen the boundary.
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 implies usage through the `index`-present vs `index`-absent behavior (fetch one Playground vs list them), which helps an agent pick a mode. However it gives no when-to-use guidance relative to sibling tools like get_page or search_docs, and no error/precondition guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pageRead a docs pageARead-onlyInspect
Returns a FrontMCP docs page as Markdown, or one section of it. path is a path (/reference/sdk/tool), a frontmcp.dev URL, or an old docs.agentfront.dev URL, which is mapped to its page here; a #anchor in it, or section, picks the section. A very long page comes back as its introduction and its sections, to read one at a time. Use it once search_docs, lookup_api or list_pages has given a path, or for a docs URL you already have. The page is the one documented for version.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The page: /reference/sdk/tool, https://frontmcp.dev/learn/your-first-tool#declaring-a-tool, or an old docs.agentfront.dev URL. | |
| section | No | A section's anchor, like "options". Overrides an anchor in `path`. | |
| version | No | A documented FrontMCP version, like "1.9.4", or a minor, like "1.9", for its newest patch. Pass the version resolve_version found for the project. Defaults to the version this endpoint serves. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description adds real behavioral detail beyond that: old docs.agentfront.dev URLs are mapped to pages here, and a very long page is returned as its introduction plus sections to read one at a time. It could say more about what an invalid path returns, but the added context is strong.
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?
Front-loaded with the core action and return shape, then the input conventions, then usage. It is dense with semicolon-joined clauses but every sentence carries information; the only minor cost is that the anchor/URL rules take a re-read to parse.
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?
With no output schema, the description carries the return contract and does it well: Markdown output, single-section mode, and the intro-plus-sections split for long pages. Combined with the version default note, an agent has everything needed to call it and interpret the result.
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?
Schema coverage is already 100%, so the baseline is 3, but the description adds meaning the schema lacks: it explains that path accepts a bare path, a frontmcp.dev URL, or an old URL that gets remapped, and that a #anchor or section selects the section (with section overriding the anchor). It also clarifies version defaults. Genuine value on top of the schema.
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?
States a specific verb+resource: returns a FrontMCP docs page as Markdown, or one section of it. It distinguishes itself from siblings by explicitly naming search_docs, lookup_api and list_pages as the tools that produce a path, making its role as the 'read the page' step 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?
Gives explicit when-to-use: after search_docs, lookup_api or list_pages has produced a path, or when you already hold a docs URL. It also names the alternatives that feed it, so an agent knows the routing rather than inferring it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_skillRead a FrontMCP skillARead-onlyInspect
FrontMCP's skills catalog (@frontmcp/skills): instructions for building with FrontMCP, from setting up a project to production readiness. Without name, lists the skills. With name, returns its SKILL.md and the reference files beside it; with file too, that file. Skills are step-by-step guides written for coding agents: for the docs themselves use search_docs or get_page, and for runnable code get_example. The catalog is the newest FrontMCP release's, so the tool takes no version.
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | One of the skill's reference files, as listed, like "references/create-tool.md". | |
| name | No | A skill, like "frontmcp-development". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already covers the safety profile, and the description adds real context beyond it: the catalog tracks the newest FrontMCP release so there is no version parameter, and it discloses exactly what each mode returns (a listing, SKILL.md plus sibling reference files, or a single reference file). It stops short of describing error behavior for an unknown name.
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 compact and front-loads the mode rules, with every sentence carrying information. The opening sentence is somewhat dense with the parenthetical catalog identifier, but nothing is wasted and the routing guidance arrives before the caveats.
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?
With no output schema, the description carries the burden of describing returns, and it does so for all three modes. What remains unstated is failure behavior (unknown skill name, bad file path) and whether listing output is paginated, which are minor for a read-only catalog tool.
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?
Schema coverage is 100%, so the schema documents both parameters, but the description adds semantic value the schema does not: it explains that name alone pulls SKILL.md together with its adjacent reference files, and that file is only meaningful in combination with name. That conditional relationship is behavior, not just field naming.
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 states a specific verb and resource ('skills catalog ... instructions for building with FrontMCP') and precisely enumerates the three call modes: no name lists skills, name returns SKILL.md plus reference files, name+file returns that file. It is readily distinguishable from siblings like get_page or search_docs.
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 routes the agent to alternatives with conditions: 'for the docs themselves use search_docs or get_page, and for runnable code get_example.' The mode-selection rules (when name is absent vs present vs paired with file) are spelled out with no inference required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_versionsList the documented versionsARead-onlyInspect
Lists the FrontMCP releases these docs cover, newest first, each with its release notes and the endpoint that pins it (https://mcp.frontmcp.dev/). Says which version this endpoint serves. To find the version a project uses, call resolve_version.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true is already supplied, so safety is covered. The description adds contextual behavior: newest-first ordering, inclusion of release notes, the endpoint URL pattern, and that it reports which version the current endpoint serves. These are useful details beyond the annotation, though return format details are somewhat redundant without an output schema.
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?
Three efficient sentences: what it lists, how items are presented, and a routing alternative. Front-loaded with the tool's purpose. No wasted words.
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?
A no-param, read-only listing tool with no output schema. The description covers what is returned and how it is ordered, and explicitly points to the alternative. Nothing essential for correct invocation is missing.
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?
Zero parameters, so baseline is 4 per rubric. No param information is needed or provided, and the description correctly focuses on output semantics rather than input params.
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?
Specific verb+resource: 'Lists the FrontMCP releases these docs cover.' Clearly distinguishes from sibling resolve_version by naming it for the opposite operation. An agent can confidently identify this as the version-listing tool.
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?
Explicitly names the alternative 'resolve_version' and gives the condition to use it: 'To find the version a project uses, call resolve_version.' This provides both when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_pagesList the docs pagesARead-onlyInspect
Lists the FrontMCP docs as the site's sidebar has them, in reading order: Learn (lessons), Reference (APIs, options, deployment), Examples and Compare, each in groups of pages with their titles and paths. Use it to browse, or to find a page by topic when you don't know its name; to find something specific, search_docs or lookup_api is faster. Read a page it lists with get_page. The pages are those of version.
| Name | Required | Description | Default |
|---|---|---|---|
| section | No | Only this part of the docs. | |
| version | No | A documented FrontMCP version, like "1.9.4", or a minor, like "1.9", for its newest patch. Pass the version resolve_version found for the project. Defaults to the version this endpoint serves. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds real behavioral context beyond that: results follow the site's sidebar reading order, are grouped into sections, include titles and paths, and are scoped to one version. It omits pagination or result-size limits, which keeps it from a 5.
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?
Front-loaded with the action and ordering, then routes to alternatives and the follow-up tool. Dense but each clause carries information; the long first sentence is slightly run-on but not wasteful.
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?
For a read-only listing tool with no output schema, the description covers the result shape (grouped sections with titles and paths), scoping (version, section), alternatives, and the next step. Nothing needed to call it correctly is missing.
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?
Schema description coverage is 100%, so both parameters are already documented, and the enum for section is structured. The description reinforces version scoping ('The pages are those of `version`') but adds no syntax or semantics the schema lacks; baseline 3 applies.
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?
States a specific verb (lists) and resource (the FrontMCP docs pages) plus the organizing principle (site sidebar order, reading order) and the content of the result (groups with titles and paths). It is clearly distinguishable from siblings like search_docs, lookup_api, and get_page without opening any schema.
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?
Explicitly gives the use case (browse, or find a page by topic when you don't know its name) and names the faster alternatives (search_docs, lookup_api) for specific lookups, plus the natural follow-up tool (get_page). Both when-to-use and when-to-use-something-else are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_apiLook up an APIARead-onlyInspect
Finds a FrontMCP API by name in the Reference pages: a decorator (@Tool), function or method (createFetchHandler, this.elicit), option (inputSchema, throttle), error code (TOOL_NOT_FOUND), CLI command or flag (--target). Returns the matching entries, most relevant first, each with what the docs say, its page and anchor. Read more with get_page.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many entries to return. | |
| symbol | Yes | The name, with or without `@`, `this.` or parentheses. | |
| version | No | A documented FrontMCP version, like "1.9.4", or a minor, like "1.9", for its newest patch. Pass the version resolve_version found for the project. Defaults to the version this endpoint serves. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true already declaring the safety profile, the description usefully fills the remaining gap: it discloses the return shape ('matching entries, most relevant first, each with what the docs say, its page and anchor'), which matters since there is no output schema. It does not mention truncation/limit behavior or what happens on no match, so it stops short of full behavioral disclosure.
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?
Two sentences, front-loaded with the action and scope, followed by return behavior and the follow-up tool. The long parenthetical example list is dense but each example illustrates a distinct symbol category, so it earns its space.
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?
For a lookup tool with no output schema, the description adequately covers input categories, ordering of results, and the fields returned, so an agent can call it and interpret the response. Minor gaps remain around result volume and no-match behavior, plus it never contrasts itself with search_docs.
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?
Schema coverage is 100%, so the baseline is 3; the description earns a bump by showing what qualifies as a 'symbol' (decorator, method, option, error code, CLI flag), which adds conceptual meaning beyond the schema's format note ('with or without @, this. or parentheses'). It says nothing about limit or version semantics, but the schema already documents those.
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?
Names a specific verb and resource ('Finds a FrontMCP API by name in the Reference pages') and enumerates the exact symbol categories it resolves (decorator, function/method, option, error code, CLI flag). This clearly separates it from siblings like search_docs (free-text) and get_page (full page retrieval) without needing to open a schema.
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?
Explicitly routes the agent onward: 'Read more with get_page,' giving a clear next step after a lookup. It also implies usage through the symbol-category examples, but never states when this tool is the wrong choice (e.g., use search_docs for conceptual/keyword queries), so the alternative-selection guidance is incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_versionFind the docs version for a projectARead-onlyInspect
Says which documented FrontMCP version a project should read, and the endpoint that pins it. Pass the project's package.json, its lockfile (package-lock.json, yarn.lock or pnpm-lock.yaml, including relevant importers and all SDK resolutions), or a version range. An unambiguous lockfile identifies an installation; package.json only the range it allows. If several installations exist, select an npm/pnpm workspace or pass an exact installedVersion read from the resolved SDK package. Call it first when you can read the project.
| Name | Required | Description | Default |
|---|---|---|---|
| range | No | A version or range, like "1.9.4" or "^1.9.0". | |
| lockfile | No | The project's lockfile, including the selected importer and all SDK resolutions. A truncated fragment must preserve that context. | |
| workspace | No | Workspace/importer path in an npm or pnpm lockfile, for example "." or "packages/api". Required when installations are ambiguous. | |
| packageJson | No | The project's package.json, as it is. | |
| installedVersion | No | Exact release read from this project's resolved @frontmcp/sdk/package.json. Takes precedence over a shared lockfile; never guess it from a range. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=true; the description supplies the behavior that matters: a lockfile identifies an installation while package.json only gives the allowed range, and installedVersion takes precedence over a shared lockfile and must not be guessed. That precedence and ambiguity handling is real context beyond 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 purpose is front-loaded in the first clause and each following sentence carries non-redundant rules about input precedence and ambiguity. It is dense but every sentence earns its place; a slightly tighter phrasing of the workspace/installedVersion rule would make it a 5.
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?
With five optional, fully schema-documented parameters and no output schema, the description covers what an agent needs to pick the right input and resolve ambiguity, and even hints at the return (the pinned endpoint). Missing only a note on what happens when no version can be resolved.
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?
Schema coverage is 100%, so the baseline is 3, but the description adds semantics the schema does not: why lockfile beats package.json, when workspace is required (ambiguous installations), and that installedVersion is authoritative. The only gap is that truncation/context requirements for lockfile are left to the schema.
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?
States a specific verb and resource: it resolves which documented FrontMCP version a project should read, plus the pinning endpoint. That clearly separates it from get_versions (which lists versions) and the other doc-reading siblings, though no sibling is named explicitly.
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?
"Call it first when you can read the project" gives an explicit ordering cue, and the description explains which input to prefer (lockfile vs package.json vs exact installedVersion) when installations are ambiguous. It stops short of stating when to skip this tool and use get_versions instead, so it is not a full when/when-not/alternatives treatment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_docsSearch the docsARead-onlyInspect
Full-text search over the FrontMCP docs, by section: page titles, section headings and prose. Returns up to limit sections, best first, each with its page, heading, path (with the #anchor) and the start of its text. Read one with get_page. For an API, option or error code by name, lookup_api is more precise.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many sections to return. | |
| query | Yes | Words to look for, like "rate limit", "deploy to cloudflare" or "elicit". | |
| section | No | Only this part of the docs. Choose blog explicitly for dated articles. | |
| version | No | A documented FrontMCP version, like "1.9.4", or a minor, like "1.9", for its newest patch. Pass the version resolve_version found for the project. Defaults to the version this endpoint serves. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=true, while the description adds significant behavior: best-first ranking, a limit cap, and per-result fields including page, heading, anchored path, and text snippet. It does not cover error or empty-result behavior, so it is strong but not exhaustive.
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?
Three sentences, front-loaded with the search purpose, followed by return behavior and alternative-tool routing. There is no filler or redundant text.
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?
For a four-parameter read-only search with full schema coverage and no output schema, the description supplies the missing return-shape details and sibling routing. Nothing critical to correct invocation is absent.
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?
Schema description coverage is 100%, so query, section, version, and limit semantics are already fully documented. The description mainly reinforces the limit behavior and section-oriented search scope, adding little beyond the schema.
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?
States a specific verb and resource ('Full-text search over the FrontMCP docs') and scopes the search to page titles, section headings, and prose. It distinguishes from get_page and lookup_api by naming their use cases, so an agent can select it without opening sibling schemas.
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?
Explicitly routes follow-up reading to get_page and named API/option/error lookups to lookup_api as a more precise alternative. This gives clear when-to-use and alternative conditions for the main sibling paths.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whats_changedWhat changed between two releasesARead-onlyInspect
What changed in FrontMCP after from up to to (the endpoint's version by default): each release's notes, every note the docs make about a change ("Changed in 1.9.5: before, …"), with its page and section, and, when both versions are documented, which pages changed. from can be any release, documented or not. Use it to upgrade a project, or to check whether docs for one version hold for another.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | A documented FrontMCP version, like "1.9.4", or a minor, like "1.9", for its newest patch. Pass the version resolve_version found for the project. Defaults to the version this endpoint serves. | |
| from | Yes | The older release, like "1.9.2" or "1.8". | |
| limit | No | How many notes to return, newest first. | |
| section | No | Only notes from this part of the docs. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already covers the safety profile, so the description is free to add other traits, and it does: `from` may be any release documented or not, `to` defaults to the version the endpoint serves, and both-versions documented is the precondition for reporting changed pages. It omits rate limits and the shape of the truncated/limited result, so not a 5.
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 purpose is front-loaded in the first clause and the usage hint closes it, with no filler sentences. The middle enumeration is a long run-on with stacked parentheses, which costs some readability without wasting content.
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?
There is no output schema, and the description compensates by describing the returned payload (notes per release, note text with page and section, changed pages). Usage context is covered too. Minor gaps remain around limit/pagination behavior and what happens when the range contains no notes.
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?
Schema description coverage is 100%, making 3 the baseline, but the description adds meaning the schema does not: that `from` works for undocumented releases and that changed-page detection only fires when both versions are documented. These are conditional semantics, not restatements.
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 opening clause states a specific verb and resource: the delta between two FrontMCP releases, from `from` up to `to`. It also enumerates what comes back (release notes, change notes with page/section, changed pages), which separates it from list-style siblings. It never names a sibling to contrast against explicitly, so it stops short of a 5.
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 final sentence gives concrete usage contexts: upgrading a project, or checking whether docs for one version hold for another. It doesn't state when NOT to use it or point at alternatives like get_versions or search_docs, so it is clear context without exclusions.
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.
2 tool updates
- Changed
resolve_version3 fields changed- added
Input schema / properties / installedVersionAdded value: +{ + "description": "Exact release read from this project's resolved @frontmcp/sdk/package.json. Takes precedence over a shared lockfile; never guess it from a range.", + "maxLength": 40, + "type": "string" +} - changed
Input schema / properties / lockfile / descriptionPrevious value: -"The project's lockfile, or the lines about @frontmcp/sdk."New value: +"The project's lockfile, including the selected importer and all SDK resolutions. A truncated fragment must preserve that context." - added
Input schema / properties / workspaceAdded value: +{ + "description": "Workspace/importer path in an npm or pnpm lockfile, for example \".\" or \"packages/api\". Required when installations are ambiguous.", + "maxLength": 300, + "type": "string" +}
- Changed
search_docs2 fields changed- changed
Input schema / properties / section / descriptionPrevious value: -"Only this part of the docs."New value: +"Only this part of the docs. Choose blog explicitly for dated articles." - changed
Input schema / properties / section / enumPrevious value: -[ - "learn", - "reference", - "examples", - "compare" -]New value: +[ + "learn", + "reference", + "examples", + "compare", + "blog" +]
6 tool updates
- Changed
get_example1 field changed- changed
Input schema / properties / version / descriptionPrevious value: -"A documented FrontMCP version, like \"1.9.4\", or a minor, like \"1.9\", for its newest patch. Defaults to the version this endpoint serves."New value: +"A documented FrontMCP version, like \"1.9.4\", or a minor, like \"1.9\", for its newest patch. Pass the version resolve_version found for the project. Defaults to the version this endpoint serves."
- Changed
get_page1 field changed- changed
Input schema / properties / version / descriptionPrevious value: -"A documented FrontMCP version, like \"1.9.4\", or a minor, like \"1.9\", for its newest patch. Defaults to the version this endpoint serves."New value: +"A documented FrontMCP version, like \"1.9.4\", or a minor, like \"1.9\", for its newest patch. Pass the version resolve_version found for the project. Defaults to the version this endpoint serves."
- Changed
list_pages1 field changed- changed
Input schema / properties / version / descriptionPrevious value: -"A documented FrontMCP version, like \"1.9.4\", or a minor, like \"1.9\", for its newest patch. Defaults to the version this endpoint serves."New value: +"A documented FrontMCP version, like \"1.9.4\", or a minor, like \"1.9\", for its newest patch. Pass the version resolve_version found for the project. Defaults to the version this endpoint serves."
- Changed
lookup_api1 field changed- changed
Input schema / properties / version / descriptionPrevious value: -"A documented FrontMCP version, like \"1.9.4\", or a minor, like \"1.9\", for its newest patch. Defaults to the version this endpoint serves."New value: +"A documented FrontMCP version, like \"1.9.4\", or a minor, like \"1.9\", for its newest patch. Pass the version resolve_version found for the project. Defaults to the version this endpoint serves."
- Changed
search_docs1 field changed- changed
Input schema / properties / version / descriptionPrevious value: -"A documented FrontMCP version, like \"1.9.4\", or a minor, like \"1.9\", for its newest patch. Defaults to the version this endpoint serves."New value: +"A documented FrontMCP version, like \"1.9.4\", or a minor, like \"1.9\", for its newest patch. Pass the version resolve_version found for the project. Defaults to the version this endpoint serves."
- Changed
whats_changed1 field changed- changed
Input schema / properties / to / descriptionPrevious value: -"A documented FrontMCP version, like \"1.9.4\", or a minor, like \"1.9\", for its newest patch. Defaults to the version this endpoint serves."New value: +"A documented FrontMCP version, like \"1.9.4\", or a minor, like \"1.9\", for its newest patch. Pass the version resolve_version found for the project. Defaults to the version this endpoint serves."
9 tool updates
- First observed
get_example - First observed
get_page - First observed
get_skill - First observed
get_versions - First observed
list_pages - First observed
lookup_api - First observed
resolve_version - First observed
search_docs - First observed
whats_changed
Publisher details
- Operator
- Frontegg LTD · Publisher source
- Operator website
- https://frontegg.com · Publisher source
- Vendor relationship
- Not applicable
- Documentation
- https://frontmcp.dev · Publisher source
- Trust center
- Not applicable
- Restrictions
- Not applicable
Related MCP Connectors
AgentDocs (agentdocs.eu) MCP: read, search, write, comment, share & attach images to Markdown docs.
MCP server for agentverse documentation, generated by doc2mcp.
Roadmap, tasks, releases and user feedback your coding agent reads and writes over MCP.
Agent-first search of MCP servers, APIs, CLIs and skills, with best picks and transparent scores.
Related MCP Servers
- FlicenseNot gradedqualityAmaintenanceThis MCP server enables AI clients to search and retrieve current technical documentation for supported agent frameworks over stdio or SSE.-
- AlicenseAqualityDmaintenanceProvides access to Agno framework documentation for AI agents, enabling search and retrieval of SDK references, API endpoints, code examples, and integration guides through MCP-compatible tools.73MIT
- FlicenseNot gradedqualityBmaintenancePublic MCP front door for Spala agent discovery, providing onboarding, documentation search, and template/addon listings for planning backend workflows.-
- FlicenseNot gradedqualityAmaintenanceEnables users to search and retrieve up-to-date technical documentation for popular agent frameworks such as LangChain, LlamaIndex, AutoGen, Agno, OpenAI Agents SDK, MCP, Camel AI, and CrewAI. It does this by performing site-specific web searches and extracting page text through a standardized MCP interface over stdio or SSE.-
Glama MCP Gateway
Add one secure layer between your agents and this server.