Brasil GEO MCP API

The Mcp API from Brasil GEO — 1 operation(s) for mcp.

Operations 2

GET /api/mcp Consultar metadados e ferramentas disponíveis #
POST /api/mcp Executar chamada MCP ou consulta REST legada #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/alexandrecaramaschi-com:alexandrecaramaschi-com-mcp-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

alexandrecaramaschi-com-mcp-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: pública de Alexandre Caramaschi MCP API
  version: 1.13.2
  description: 'Consulta pública de negócio, contato, cursos, texto e mídia das aulas, busca híbrida nas aulas, grafo de conhecimento dos cursos e pesquisa. MCP JSON-RPC e REST legado compartilham /api/mcp. Não envia mensagens, não realiza compras e não expõe administração. O registro de agente (RFC 7591) e o token client_credentials são opcionais: identificam o cliente nas respostas e ampliam o corpo aceito; sem token, tudo continua público.'
servers:
- url: https://alexandrecaramaschi.com
security: []
tags:
- name: MCP
paths:
  /api/mcp:
    get:
      operationId: discoverPublicTools
      summary: Consultar metadados e ferramentas disponíveis
      security:
      - {}
      - agentClientCredentials:
        - mcp:read
      responses:
        '200':
          description: Metadados públicos
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Token Bearer inválido ou expirado; WWW-Authenticate aponta para /.well-known/oauth-protected-resource.
        '403':
          description: Origin não permitida.
        '405':
          description: 'GET com Accept text/event-stream: o servidor não abre canal SSE.'
      tags:
      - MCP
    post:
      operationId: callPublicTool
      summary: Executar chamada MCP ou consulta REST legada
      description: 'MCP exige Accept: application/json, text/event-stream. Após initialize, envie MCP-Protocol-Version negociado. Limite de corpo: 16 KiB sem token; 64 KiB com token de agente válido (Authorization: Bearer). Com token, initialize e tools/call trazem _meta.client_id e a resposta traz X-Agent-Client. Desde a versão 1.8.0, em tools/call, limit e maxChars aceitam também número inteiro, e erro de entrada (argumento desconhecido, tipo ou faixa inválidos) volta como resultado com isError: true e structuredContent {error: ''invalid_argument'', message, argument, accepted}; o erro JSON-RPC -32602 fica para ferramenta desconhecida, arguments que não é objeto e corpo malformado. No REST legado, os argumentos vão no próprio corpo, ao lado de tool, sempre como texto.'
      security:
      - {}
      - agentClientCredentials:
        - mcp:read
      parameters:
      - in: header
        name: MCP-Protocol-Version
        required: false
        schema:
          type: string
          enum:
          - '2026-07-28'
          - '2025-11-25'
          - '2025-06-18'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/RpcRequest'
              - $ref: '#/components/schemas/LegacyRequest'
            examples:
              mcp:
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: tools/list
              legacy:
                value:
                  tool: listCourses
              legacySearch:
                value:
                  tool: searchContent
                  query: como medir citações em IA
                  limit: '5'
              legacyGraph:
                value:
                  tool: exploreKnowledgeGraph
                  node: x:geo
              mcpGraph:
                value:
                  jsonrpc: '2.0'
                  id: 2
                  method: tools/call
                  params:
                    name: exploreKnowledgeGraph
                    arguments:
                      query: dados estruturados
                      limit: 5
      responses:
        '200':
          description: Resultado público ou erro JSON-RPC
          headers:
            X-Agent-Client:
              description: client_id do agente, presente somente com token válido.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
        '202':
          description: Notificação MCP aceita, sem corpo.
        '400':
          description: JSON, protocolo ou mensagem inválidos.
      tags:
      - MCP
components:
  schemas:
    LegacyRequest:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true
    RpcRequest:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true
externalDocs:
  url: https://alexandrecaramaschi.com/developers.md
x-markdown-negotiation:
  summary: Qualquer rota pública em HTML responde em Markdown por negociação de conteúdo na própria URL, sem caminho novo.
  request:
    header: Accept
    value: text/markdown
    rule: 'Markdown somente quando q(text/markdown) > 0 e q(text/markdown) > q(text/html), conforme RFC 9110. Curingas */* e text/* não contam. Alias legado: application/llm.'
  response:
    contentType: text/markdown; charset=utf-8
    headers:
    - 'Vary: Accept'
    - 'Link: <url canônica>; rel="canonical"'
    - 'x-markdown-tokens: estimativa (caracteres / 4), método em x-markdown-tokens-method'
    - 'Cache-Control: public, s-maxage=3600, stale-while-revalidate=86400'
    body: Front matter YAML (title, canonical, author, datas, description, language), H1 e seções.
  routes:
  - /
  - /artigos/{slug}
  - /educacao
  - /educacao/{curso}
  - /educacao/{curso}/{capitulo}
  - /insights/{slug}
  - /publicacoes
  - /glossario
  - /faq
  - /cases
  - páginas-pilar da raiz
  excluded:
  - /api/*
  - /admin*
  - /auth/*
  - /_next/*
  - arquivos com extensão
  - /mcp
  - /.well-known/*
  - páginas privadas ou noindex
  - /artefacto/*
  - /guia/*
  - /faq/{sub}
  - /caso/*
  - /landing/*
  example: 'curl -H "Accept: text/markdown" https://alexandrecaramaschi.com/artigos/geo-vs-seo-vs-aeo-o-que-muda-na-pratica'
  docs: https://alexandrecaramaschi.com/developers.md
x-agent-auth:
  summary: Registro dinâmico anônimo e token client_credentials de uma hora, opcionais para o MCP.
  authorization_server_metadata: https://alexandrecaramaschi.com/.well-known/oauth-authorization-server
  protected_resource_metadata: https://alexandrecaramaschi.com/.well-known/oauth-protected-resource/api/mcp
  jwks_uri: https://alexandrecaramaschi.com/.well-known/jwks.json
  docs: https://alexandrecaramaschi.com/auth.md