{
  "serverInfo": {
    "name": "indexagentica-mcp",
    "title": "Index Agentica",
    "version": "0.1.0",
    "websiteUrl": "https://indexagentica.com"
  },
  "description": "Read-only search over the Index Agentica directory of agent tools, MCP servers, APIs, protocols and skills, plus guides, comparisons, stacks and downloadable skills.",
  "instructions": "Index Agentica (https://indexagentica.com) is an agent-first directory of skills, agent harnesses, MCP servers, tools, protocols, APIs, information sources, finance/payment rails and other directories, plus long-form guides, comparisons, stacks and downloadable Agent Skills. Use `search` to find resources by keywords, type (entry, guide, comparison, stack, skill), category and tags; `get_entry` for the full record of one directory entry; `get_content` (type + id) for a guide, comparison, stack or skill with its markdown; `list_categories` for the category slugs and counts. Data is read-only, refreshed from the published site every ~10 minutes, and licensed CC BY 4.0. To add or correct an entry, see https://indexagentica.com/agents/#contribute.",
  "transport": {
    "type": "streamable-http",
    "url": "https://mcp.indexagentica.com/mcp"
  },
  "protocolVersions": [
    "2026-07-28",
    "2025-11-25",
    "2025-06-18",
    "2025-03-26"
  ],
  "authentication": {
    "required": false
  },
  "capabilities": {
    "tools": {
      "listChanged": false
    }
  },
  "tools": [
    {
      "name": "search",
      "title": "Search Index Agentica",
      "description": "Search Index Agentica: the directory of agent-usable resources (skills, harnesses, MCP servers, tools, protocols, APIs, information sources, finance/payments, directories) plus its long-form content (guides, comparisons, stacks and downloadable Agent Skills). Matches the query words against name/title, id, tags, summary and description and returns the best matches first, each with its type, a relevance score and links (HTML, markdown, JSON). Optionally filter by type (entry, guide, comparison, stack, skill; default all), category (entries only) and/or tags (ALL given tags must match). An empty query with a filter lists everything in that filter. For full details use get_entry for type entry, or get_content with the type and id for long-form items.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "maxLength": 200,
            "description": "Free-text search words, e.g. \"browser automation\" or \"payments x402\". May be empty when category or tags are given."
          },
          "type": {
            "type": "string",
            "enum": [
              "entry",
              "guide",
              "comparison",
              "stack",
              "skill",
              "all"
            ],
            "default": "all",
            "description": "Optional result type: entry (directory entries), guide, comparison, stack, skill, or all (default)."
          },
          "category": {
            "type": "string",
            "description": "Optional entry category slug to restrict results to (implies type entry). Call list_categories for the current list."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 10,
            "description": "Optional list of tag slugs; results must have all of them (e.g. [\"open-source\", \"python\"])."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10,
            "description": "Maximum number of results (1-50, default 10)."
          }
        },
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "description": "Type filter applied (all when none)."
          },
          "category": {
            "type": "string",
            "description": "Category filter applied (omitted when none)."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "limit": {
            "type": "integer"
          },
          "total": {
            "type": "integer",
            "description": "Number of matches before the limit was applied."
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "entry",
                    "guide",
                    "comparison",
                    "stack",
                    "skill"
                  ],
                  "description": "entry (directory entry) or a long-form type: guide, comparison, stack, skill."
                },
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "category": {
                  "type": "string",
                  "description": "Entries only."
                },
                "summary": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "author": {
                  "type": "string",
                  "description": "Long-form only."
                },
                "last_verified": {
                  "type": "string",
                  "description": "Long-form only."
                },
                "entries": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Long-form only: directory entry ids it references."
                },
                "status": {
                  "type": "string"
                },
                "pricing": {
                  "type": "string"
                },
                "mcp_endpoint": {
                  "type": "string"
                },
                "score": {
                  "type": "number"
                },
                "links": {
                  "type": "object"
                }
              },
              "required": [
                "type",
                "id",
                "name",
                "summary",
                "url"
              ]
            }
          }
        },
        "required": [
          "query",
          "total",
          "results"
        ]
      },
      "annotations": {
        "title": "Search Index Agentica",
        "readOnlyHint": true,
        "idempotentHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      }
    },
    {
      "name": "get_entry",
      "title": "Get directory entry",
      "description": "Fetch one Index Agentica entry by its id (kebab-case slug, e.g. \"model-context-protocol\"). Returns every field: name, category, summary, description, url, repo, docs, tags, license, pricing, status, agent_access (llms_txt, openapi, mcp_endpoint, auth), related ids, sources, dates and links. If the id is unknown the result is an error with suggested ids.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
            "maxLength": 80,
            "description": "Entry id (kebab-case slug) as returned by search."
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "entry": {
            "type": "object",
            "description": "The full entry, following https://indexagentica.com/schema/entry.schema.json plus a links object."
          }
        },
        "required": [
          "entry"
        ]
      },
      "annotations": {
        "title": "Get directory entry",
        "readOnlyHint": true,
        "idempotentHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      }
    },
    {
      "name": "get_content",
      "title": "Get guide, comparison, stack or skill",
      "description": "Fetch one Index Agentica long-form item by type and id (as returned by search). Returns its metadata (title, summary, author, tags, dates, referenced entries with links, related items, sources, links) and its markdown (scheme links resolved to absolute URLs). Comparisons include the structured table (criteria, one row per entry, verdict); stacks include the use case and components; skills include the full SKILL.md (skill_md) plus download links (links.zip, links.skill_md). Unknown ids return an error with suggestions.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "guide",
              "comparison",
              "stack",
              "skill"
            ],
            "description": "guide, comparison, stack or skill."
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
            "maxLength": 80,
            "description": "Item id (kebab-case slug) as returned by search."
          },
          "include_html": {
            "type": "boolean",
            "default": false,
            "description": "Also return the rendered HTML body."
          }
        },
        "required": [
          "type",
          "id"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "content": {
            "type": "object",
            "description": "The item: front_matter, markdown, links and type-specific fields (comparison, stack, skill_md). See https://indexagentica.com/openapi.json (LongformItem).",
            "properties": {
              "type": {
                "type": "string"
              },
              "id": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "markdown": {
                "type": "string"
              },
              "links": {
                "type": "object"
              }
            },
            "required": [
              "type",
              "id",
              "title",
              "markdown"
            ]
          }
        },
        "required": [
          "content"
        ]
      },
      "annotations": {
        "title": "Get guide, comparison, stack or skill",
        "readOnlyHint": true,
        "idempotentHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      }
    },
    {
      "name": "list_categories",
      "title": "List categories",
      "description": "List all Index Agentica categories with their slug, name, description, entry count and links (HTML page and JSON). Use a slug as the category filter for search.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "description": "Total number of entries in the directory."
          },
          "generated": {
            "type": "string",
            "description": "When the published index was built."
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "slug": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "count": {
                  "type": "integer"
                },
                "html": {
                  "type": "string"
                },
                "json": {
                  "type": "string"
                }
              },
              "required": [
                "slug",
                "name",
                "count"
              ]
            }
          }
        },
        "required": [
          "total",
          "categories"
        ]
      },
      "annotations": {
        "title": "List categories",
        "readOnlyHint": true,
        "idempotentHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      }
    }
  ],
  "resources": [],
  "prompts": []
}
