Tool tree
gradeNot graded
page: Every page
call_playgroundAction
Sends one MCP request to a Playground's server from its Call tab, as the user would: the user sees the result in the Call tab and the exchange in the Wire tab. A stopped Playground starts first. Returns the JSON-RPC response, with any notifications streamed before it. Time limit: 60 seconds.
View tool JSON
{
"name": "call_playground",
"kind": "act",
"impl": "imperative",
"description": "Sends one MCP request to a Playground's server from its Call tab, as the user would: the user sees the result in the Call tab and the exchange in the Wire tab. A stopped Playground starts first. Returns the JSON-RPC response, with any notifications streamed before it. Time limit: 60 seconds.",
"inputSchema": {
"type": "object",
"properties": {
"index": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "The Playground's position on the page, from 1, as list_playgrounds gives it."
},
"method": {
"type": "string",
"description": "An MCP method: tools/call, resources/read or prompts/get, or a list method like tools/list."
},
"params": {
"default": {},
"description": "Its params, like { \"name\": \"search_tickets\", \"arguments\": { \"query\": \"log\" } } for tools/call.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"index",
"method"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
},
"page": "/reference"
}edit_playgroundAction
Puts new code in one of the page's Playgrounds, as if the user typed it: the user sees it in the editor, the Playground counts as edited, and its Reset button brings back the original example. It replaces only the files you give, which must be files the Playground has; their earlier code, the user's edits included, is gone. The Playground restarts with the new code; returns the compile errors with file and line, or the error that stopped the server starting, or the new catalog. Time limit: 60 seconds.
View tool JSON
{
"name": "edit_playground",
"kind": "act",
"impl": "imperative",
"description": "Puts new code in one of the page's Playgrounds, as if the user typed it: the user sees it in the editor, the Playground counts as edited, and its Reset button brings back the original example. It replaces only the files you give, which must be files the Playground has; their earlier code, the user's edits included, is gone. The Playground restarts with the new code; returns the compile errors with file and line, or the error that stopped the server starting, or the new catalog. Time limit: 60 seconds.",
"inputSchema": {
"type": "object",
"properties": {
"index": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "The Playground's position on the page, from 1, as list_playgrounds gives it."
},
"files": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The file's name, like \"server.ts\", or \"server.test.ts\" for tests written with @frontmcp/testing."
},
"code": {
"type": "string",
"description": "Its TypeScript."
}
},
"required": [
"name",
"code"
]
},
"description": "The files to replace, by name."
}
},
"required": [
"index",
"files"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
},
"page": "/reference"
}get_current_pageAnswer
Returns the frontmcp.dev page open in this tab: its path, title, and the section headings on it, each with the anchor that links to it. Use it to know what the user is reading before you answer, or to point them to a section.
View tool JSON
{
"name": "get_current_page",
"kind": "answer",
"impl": "imperative",
"description": "Returns the frontmcp.dev page open in this tab: its path, title, and the section headings on it, each with the anchor that links to it. Use it to know what the user is reading before you answer, or to point them to a section.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/reference"
}get_pageAnswer
Returns a frontmcp.dev docs or blog page as Markdown: its title, summary and full text, with code samples and links to other pages. Use it to read a page that search_docs or list_pages found. Takes a path on this site, like /reference/sdk/tool; other sites are refused.
View tool JSON
{
"name": "get_page",
"kind": "answer",
"impl": "imperative",
"description": "Returns a frontmcp.dev docs or blog page as Markdown: its title, summary and full text, with code samples and links to other pages. Use it to read a page that search_docs or list_pages found. Takes a path on this site, like /reference/sdk/tool; other sites are refused.",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "The page's path, like /learn/your-first-tool, or its full frontmcp.dev URL."
}
},
"required": [
"path"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
},
"page": "/reference"
}get_playgroundAnswer
Returns one Playground on the page: its files as the user sees them, with their edits, its status (and the error, if it has one), whether the user edited it, the response to the last request sent from its Call tab, and its last test results. Use it to see what the user is working on, or why their code fails.
View tool JSON
{
"name": "get_playground",
"kind": "answer",
"impl": "imperative",
"description": "Returns one Playground on the page: its files as the user sees them, with their edits, its status (and the error, if it has one), whether the user edited it, the response to the last request sent from its Call tab, and its last test results. Use it to see what the user is working on, or why their code fails.",
"inputSchema": {
"type": "object",
"properties": {
"index": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "The Playground's position on the page, from 1, as list_playgrounds gives it."
}
},
"required": [
"index"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
},
"page": "/reference"
}get_versionAnswer
Returns the FrontMCP version this site documents, the MCP protocol version its examples speak, and the latest FrontMCP releases with their summaries and changelog links. Use it before giving version-specific advice.
View tool JSON
{
"name": "get_version",
"kind": "answer",
"impl": "imperative",
"description": "Returns the FrontMCP version this site documents, the MCP protocol version its examples speak, and the latest FrontMCP releases with their summaries and changelog links. Use it before giving version-specific advice.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/reference"
}list_pagesAnswer
Returns the site's navigation: for Learn, Reference, Examples and Compare, the sidebar's groups and pages in reading order, and the blog's posts, each with its title and path. Use it to see what the docs cover, or to find a page by where it sits.
View tool JSON
{
"name": "list_pages",
"kind": "answer",
"impl": "imperative",
"description": "Returns the site's navigation: for Learn, Reference, Examples and Compare, the sidebar's groups and pages in reading order, and the blog's posts, each with its title and path. Use it to see what the docs cover, or to find a page by where it sits.",
"inputSchema": {
"type": "object",
"properties": {
"section": {
"description": "Only this part of the site. All of them by default.",
"type": "string",
"enum": [
"learn",
"reference",
"examples",
"compare",
"blog"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
},
"page": "/reference"
}list_playgroundsAnswer
Returns the Playgrounds on the page open in this tab, in page order: each one's index (its position, from 1), the heading it sits under, its file names, its status (not started, starting, running, stopped while the user reads elsewhere, or error) and whether the user edited its code. Use it before get_playground, edit_playground, call_playground or run_playground_tests.
View tool JSON
{
"name": "list_playgrounds",
"kind": "answer",
"impl": "imperative",
"description": "Returns the Playgrounds on the page open in this tab, in page order: each one's index (its position, from 1), the heading it sits under, its file names, its status (not started, starting, running, stopped while the user reads elsewhere, or error) and whether the user edited its code. Use it before get_playground, edit_playground, call_playground or run_playground_tests.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/reference"
}navigateAction
Opens a frontmcp.dev page in this tab, as a link on the site does, and scrolls to a section when you give its anchor. Only the site's own pages: the docs, the blog, and /, /playground, /releases and /versions. Returns the page's path and title once it shows.
View tool JSON
{
"name": "navigate",
"kind": "act",
"impl": "imperative",
"description": "Opens a frontmcp.dev page in this tab, as a link on the site does, and scrolls to a section when you give its anchor. Only the site's own pages: the docs, the blog, and /, /playground, /releases and /versions. Returns the page's path and title once it shows.",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "The page's path, like /reference/sdk/tool, or its full frontmcp.dev URL."
},
"anchor": {
"description": "A section on the page, like \"options\" or \"#options\", from search_docs or get_current_page.",
"type": "string"
}
},
"required": [
"path"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
},
"page": "/reference"
}open_playgroundAction
Opens the full-page Playground, /playground, in this tab with your files loaded in its editor, where the user can edit and run them and share the link. Returns the link. Use it to hand the user a project to try; then list_playgrounds and the other Playground tools work on it.
View tool JSON
{
"name": "open_playground",
"kind": "act",
"impl": "imperative",
"description": "Opens the full-page Playground, /playground, in this tab with your files loaded in its editor, where the user can edit and run them and share the link. Returns the link. Use it to hand the user a project to try; then list_playgrounds and the other Playground tools work on it.",
"inputSchema": {
"type": "object",
"properties": {
"files": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The file's name, like \"server.ts\", or \"server.test.ts\" for tests written with @frontmcp/testing."
},
"code": {
"type": "string",
"description": "Its TypeScript."
},
"active": {
"description": "Shown first.",
"type": "boolean"
},
"hidden": {
"description": "Kept out of the file tabs.",
"type": "boolean"
}
},
"required": [
"name",
"code"
]
},
"description": "The project's files."
}
},
"required": [
"files"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
},
"page": "/reference"
}run_in_playgroundAction
Compiles FrontMCP code and starts it in the Playground's runtime in this page: FrontMCP and a simulated MCP client in a Web Worker, as the site's Playgrounds run. Nothing is shown to the user. Returns, in order: the compile errors with file and line, or the error that stopped the server starting; else the server's catalog (tools, resources, resource templates and prompts, with their schemas); then the response to `call`, if given; then, with `runTests`, the results of the project's *.test.ts files. The files may import @frontmcp/sdk, @frontmcp/testing, @frontmcp/plugins, the @frontmcp/plugin-* packages, @frontmcp/adapters and each other, and export their tools, resources and prompts, or an @App or @FrontMcp class. The server is disposed afterwards, and the whole run has a time limit of 60 seconds. Use it to check that code compiles and behaves as you expect before you suggest it.
View tool JSON
{
"name": "run_in_playground",
"kind": "act",
"impl": "imperative",
"description": "Compiles FrontMCP code and starts it in the Playground's runtime in this page: FrontMCP and a simulated MCP client in a Web Worker, as the site's Playgrounds run. Nothing is shown to the user. Returns, in order: the compile errors with file and line, or the error that stopped the server starting; else the server's catalog (tools, resources, resource templates and prompts, with their schemas); then the response to `call`, if given; then, with `runTests`, the results of the project's *.test.ts files. The files may import @frontmcp/sdk, @frontmcp/testing, @frontmcp/plugins, the @frontmcp/plugin-* packages, @frontmcp/adapters and each other, and export their tools, resources and prompts, or an @App or @FrontMcp class. The server is disposed afterwards, and the whole run has a time limit of 60 seconds. Use it to check that code compiles and behaves as you expect before you suggest it.",
"inputSchema": {
"type": "object",
"properties": {
"files": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The file's name, like \"server.ts\", or \"server.test.ts\" for tests written with @frontmcp/testing."
},
"code": {
"type": "string",
"description": "Its TypeScript."
},
"active": {
"description": "Shown first.",
"type": "boolean"
},
"hidden": {
"description": "Kept out of the file tabs.",
"type": "boolean"
}
},
"required": [
"name",
"code"
]
},
"description": "The project's files."
},
"call": {
"description": "One request to send once the server is running.",
"type": "object",
"properties": {
"method": {
"type": "string",
"description": "An MCP method: tools/call, resources/read or prompts/get, or a list method like tools/list."
},
"params": {
"default": {},
"description": "Its params, like { \"name\": \"search_tickets\", \"arguments\": { \"query\": \"log\" } } for tools/call.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"method"
]
},
"runTests": {
"default": false,
"description": "Also run the tests in the project's *.test.ts files.",
"type": "boolean"
}
},
"required": [
"files"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
},
"page": "/reference"
}run_playground_testsAction
Runs a Playground's tests, or a challenge's checks, against a fresh copy of its server, as its Tests tab does: the user sees the results there. A Playground that isn't running starts first. Returns how many passed and failed, and each test with its error. Time limit: 60 seconds.
View tool JSON
{
"name": "run_playground_tests",
"kind": "act",
"impl": "imperative",
"description": "Runs a Playground's tests, or a challenge's checks, against a fresh copy of its server, as its Tests tab does: the user sees the results there. A Playground that isn't running starts first. Returns how many passed and failed, and each test with its error. Time limit: 60 seconds.",
"inputSchema": {
"type": "object",
"properties": {
"index": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "The Playground's position on the page, from 1, as list_playgrounds gives it."
}
},
"required": [
"index"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
},
"page": "/reference"
}search_docsAnswer
Searches frontmcp.dev, the FrontMCP documentation, by page titles, descriptions and section headings: the same index as the site's search box. Returns up to `limit` matches, best first, each with its title, path (with an #anchor for a section), site section and a snippet from the page's description. Use it to find the page about a decorator, option, error or topic; then read it with get_page.
View tool JSON
{
"name": "search_docs",
"kind": "answer",
"impl": "imperative",
"description": "Searches frontmcp.dev, the FrontMCP documentation, by page titles, descriptions and section headings: the same index as the site's search box. Returns up to `limit` matches, best first, each with its title, path (with an #anchor for a section), site section and a snippet from the page's description. Use it to find the page about a decorator, option, error or topic; then read it with get_page.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Words to look for, like \"rate limit\" or \"elicit\"."
},
"section": {
"description": "Only this part of the site.",
"type": "string",
"enum": [
"learn",
"reference",
"examples",
"compare",
"blog"
]
},
"limit": {
"default": 10,
"description": "How many matches to return.",
"type": "integer",
"minimum": 1,
"maximum": 25
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
},
"page": "/reference"
}