{
  "version": "1.0",
  "name": "Total.js Forge",
  "description": "Documentation, recipes and component pages for Total.js 5 and jComponent 20. Execution evidence is recorded per page and content revision; check its status, version and scope. Read-only.",
  "url": "https://forge.totaljs.es/",
  "endpoint": "https://forge.totaljs.es/mcp/",
  "tools": [
    {
      "name": "Forge_search",
      "description": "Search the public pages about Total.js 5 and jComponent 20 (recipes, guides, references and components). Searches symbols and full content with ranked English/Spanish terminology. Returns matching sections, excerpts, source snapshots and links. Read-only.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {
          "input": {
            "type": "object",
            "description": "Payload (request body) passed to this action.",
            "properties": {
              "query": {
                "type": "string",
                "description": "Words to search (1 to 200 characters)"
              },
              "product": {
                "type": "string",
                "description": "Optional: total5 or jcomponent or components or docs"
              },
              "kind": {
                "type": "string",
                "description": "Optional: recipe or guide or reference or comparison or benchmark or component"
              },
              "language": {
                "type": "string",
                "description": "Language of the pages (en by default)"
              },
              "limit": {
                "type": "number",
                "description": "Maximum results (1 to 20; 8 by default)"
              },
              "version": {
                "type": "string",
                "description": "Exact product version filter"
              },
              "snapshot": {
                "type": "string",
                "description": "Optional source snapshot fingerprint"
              }
            },
            "required": [
              "query"
            ]
          }
        },
        "required": [
          "input"
        ]
      }
    },
    {
      "name": "Forge_page",
      "description": "Return the Markdown of a page, its product, version and execution-evidence status. A documented example is not necessarily backed by a matching execution receipt. Long pages are returned in parts: use offset to continue. Read-only.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {
          "input": {
            "type": "object",
            "description": "Payload (request body) passed to this action.",
            "properties": {
              "section": {
                "type": "string",
                "description": "total5 or jcomponent or components or docs"
              },
              "slug": {
                "type": "string",
                "description": "The slug of the page (the last part of its address)"
              },
              "language": {
                "type": "string",
                "description": "Language of the page (en by default)"
              },
              "offset": {
                "type": "number",
                "description": "Where to start in characters (0 by default)"
              },
              "max_chars": {
                "type": "number",
                "description": "Maximum characters to return (1000 to 40000; 12000 by default)"
              },
              "cursor": {
                "type": "string",
                "description": "Opaque next_cursor from the prior response"
              },
              "content_sha256": {
                "type": "string",
                "description": "Optional hash from search to reject changed content"
              },
              "anchor": {
                "type": "string",
                "description": "Optional exact section anchor from search"
              }
            },
            "required": [
              "section",
              "slug"
            ]
          }
        },
        "required": [
          "input"
        ]
      }
    },
    {
      "name": "Forge_test",
      "description": "Return the available HTTP or browser test, example files, execution-evidence status and the command for running it. A test being available does not prove that it was executed. Read-only.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {
          "input": {
            "type": "object",
            "description": "Payload (request body) passed to this action.",
            "properties": {
              "section": {
                "type": "string",
                "description": "total5 or jcomponent or components or docs"
              },
              "slug": {
                "type": "string",
                "description": "The slug of the page (the last part of its address)"
              }
            },
            "required": [
              "section",
              "slug"
            ]
          }
        },
        "required": [
          "input"
        ]
      }
    },
    {
      "name": "Forge_products",
      "description": "List the products that Forge documents (Total.js 5, jComponent 20, the apps) with their versions, status and number of pages, and where to download the full text and the datasets. Read-only.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": []
      }
    },
    {
      "name": "Forge_verify_api",
      "description": "Check the names that a piece of Total.js 5 (or jComponent 20) code uses against the pages of global names of Forge. A name absent from this documentation index needs source verification; the index is not a complete API inventory. Returns the names that were found (with their page), the names that were not found with the closest names that exist, and the limits of the check. Read-only; the code is not run.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {
          "input": {
            "type": "object",
            "description": "Payload (request body) passed to this action.",
            "properties": {
              "code": {
                "type": "string",
                "description": "The code to check (up to 20000 characters)"
              },
              "product": {
                "type": "string",
                "description": "total5 (default) or jcomponent"
              }
            },
            "required": [
              "code"
            ]
          }
        },
        "required": [
          "input"
        ]
      }
    },
    {
      "name": "Forge_coverage",
      "description": "Read pinned source versions and licenses, inventory limits, component coverage and source references for an exact symbol. Source extraction is separate from reviewed contracts and executed tests. Read-only.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {
          "input": {
            "type": "object",
            "description": "Payload (request body) passed to this action.",
            "properties": {
              "symbol": {
                "type": "string",
                "description": "Optional exact symbol to resolve (up to 200 characters)"
              },
              "source_id": {
                "type": "string",
                "description": "Optional pinned source identifier to list its text files"
              },
              "path_prefix": {
                "type": "string",
                "description": "Optional relative prefix for source files"
              },
              "file_offset": {
                "type": "number",
                "description": "Offset for the source file list"
              },
              "file_limit": {
                "type": "number",
                "description": "Maximum file entries (1 to 100; default 30)"
              }
            }
          }
        },
        "required": []
      }
    },
    {
      "name": "Forge_source",
      "description": "Read a verbatim text file from the pinned installed Total.js runtime or official framework, jComponent, components and AIContext sources. List text file paths with Forge_coverage and source_id, or use knowledge-sources.json. Paginated and hash checked; no source code is executed. Read-only.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {
          "input": {
            "type": "object",
            "description": "Payload (request body) passed to this action.",
            "properties": {
              "source_id": {
                "type": "string",
                "description": "Pinned source id from Forge_coverage"
              },
              "path": {
                "type": "string",
                "description": "Exact text file path from knowledge-sources.json"
              },
              "offset": {
                "type": "number",
                "description": "Character offset (default 0)"
              },
              "max_chars": {
                "type": "number",
                "description": "Characters to read (1000 to 40000)"
              },
              "cursor": {
                "type": "string",
                "description": "next_cursor from the prior source read"
              },
              "content_sha256": {
                "type": "string",
                "description": "Optional expected source file hash"
              }
            },
            "required": [
              "source_id",
              "path"
            ]
          }
        },
        "required": [
          "input"
        ]
      }
    }
  ]
}
