Skip to main content
Glama
nerigleston

Jangada Docs MCP

by nerigleston

Jangada Docs MCP

Servidor MCP que dá ao seu assistente de IA (Claude Code, Claude Desktop, Cursor…) acesso a toda a documentação da biblioteca jangada (jangada-ai). Assim o assistente escreve código com a API atual e correta — sem inventar nomes de função, assinaturas ou parâmetros.

Feito para desenvolvedores que constroem com o jangada. É o próprio jangada sendo um servidor MCP (serve_mcp/build_mcp_app). A doc vem embutida no pacote — self-contained, sem depender de rede em runtime.

Hospedado (HTTP) — sem instalar nada

Já há uma instância pública em https://mcp.jangada.dev.br/mcp/ (note a barra final). Conecte por HTTP:

claude mcp add jangada-mcp --transport http https://mcp.jangada.dev.br/mcp/

(roda na AWS Lambda + API Gateway — passo a passo, IaC e CI/CD em DEPLOY.md.)

Prefere local/stdio (sem depender do servidor hospedado)? Veja o uvx abaixo.


Related MCP server: MCP Vue UI Kit Server

Jeito mais fácil: uvx (sem clonar nada)

Como o npx do Node, o uvx roda o servidor direto do GitHub — sem clonar, sem instalar manualmente. Só precisa do uv (curl -LsSf https://astral.sh/uv/install.sh | sh).

Comando que as configurações abaixo usam:

uvx --from git+https://github.com/nerigleston/jangada-docs-mcp jangada-docs-mcp

(O uvx baixa, monta e roda o pacote numa sandbox temporária a cada uso.)


Claude Code

Em um projeto específico (escopo do projeto)

Vale só naquele projeto (ideal para times — pode commitar). Crie um .mcp.json na raiz do projeto:

{
  "mcpServers": {
    "jangada-docs": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/nerigleston/jangada-docs-mcp", "jangada-docs-mcp"]
    }
  }
}

Ou pela CLI:

claude mcp add jangada-docs --scope project -- \
  uvx --from git+https://github.com/nerigleston/jangada-docs-mcp jangada-docs-mcp

Globalmente (todos os seus projetos)

Disponível em qualquer projeto seu (escopo do usuário, fica no seu PC):

claude mcp add jangada-docs --scope user -- \
  uvx --from git+https://github.com/nerigleston/jangada-docs-mcp jangada-docs-mcp

Escopos do Claude Code: project (no .mcp.json do projeto, compartilhável) · local (só você, naquele projeto) · user (global, todos os seus projetos).


Claude Desktop (global)

Settings → Developer → Edit Config (claude_desktop_config.json):

{
  "mcpServers": {
    "jangada-docs": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/nerigleston/jangada-docs-mcp", "jangada-docs-mcp"]
    }
  }
}

Reinicie o Claude Desktop.

Cursor

  • Global: ~/.cursor/mcp.json · Projeto: .cursor/mcp.json

Use o mesmo bloco mcpServers acima.


Alternativa sem uv (clonar o repo)

git clone https://github.com/nerigleston/jangada-docs-mcp
cd jangada-docs-mcp
pip install -r requirements.txt        # = jangada-ai[mcp]

Aponte a config para o python do seu ambiente + o server:

{
  "mcpServers": {
    "jangada-docs": {
      "command": "/caminho/para/python",
      "args": ["-m", "jangada_docs_mcp.server"]
    }
  }
}

Ferramentas expostas

Ferramenta

Para que serve

jangada_indice()

Índice/ordem das páginas. Comece aqui.

jangada_listar_docs()

Lista todas as páginas (nome — título).

jangada_ler_doc(nome, lang)

Conteúdo completo de uma página (pt padrão ou en).

jangada_buscar(termo)

Procura um termo em toda a doc (trechos + página).

O assistente decide sozinho quando chamar — ex.: você pede "faça um RAG com reranking" e ele consulta jangada_ler_doc("rag") antes de escrever.

Como funciona

jangada_docs_mcp/server.py registra as funções acima como ferramentas MCP via jangada_ai.serve_mcp(...) — sobre o Server low-level do protocolo MCP (não FastMCP). Transporte stdio. A doc fica em jangada_docs_mcp/docs/ (snapshot do site da lib), empacotada no wheel.

Licença

MIT — veja LICENSE.

Available Tools

4 tools
jangada_buscarA

Procura um termo (case-insensitive) em toda a documentação PT e devolve as linhas que casam, agrupadas por página. Útil para achar 'como faço X'.

ParametersJSON Schema
NameRequiredDescriptionDefault
termoYes
max_resultadosNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses case-insensitivity, full-document scope, and grouping by page, which gives clear behavioral expectations for a search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, using two sentences to convey purpose, behavior, and usage hint. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool without output schema, the description covers core functionality well. Minor gaps: no explanation of the max_resultados parameter or example output format, but overall sufficient for an AI agent to understand usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no descriptions (0% coverage), and the description does not explain the parameters beyond implying 'termo' is the search term. The optional 'max_resultados' parameter is not mentioned, leaving its purpose unclear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches a term (case-insensitive) in all PT documentation and returns matching lines grouped by page. It distinguishes itself from sibling tools like jangada_indice (index) and jangada_ler_doc (read doc).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a usage hint: 'Útil para achar 'como faço X'.' This provides context for when to use the tool, but does not explicitly mention when not to use it or compare with siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jangada_indiceA

Índice da documentação do jangada: as páginas na ordem das seções (Começando, Providers, Capacidades, Confiabilidade, etc.). Comece por aqui.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the tool returns an index of pages in a defined order. No annotations are provided, but the description adequately explains the behavior without contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with a colon and list, front-loading the key information. Every part is meaningful and there is no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately indicates the return type (index of pages). For a simple, parameterless tool, this is complete enough, though it could mention the format (e.g., list of titles).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, and the schema coverage is 100%. The description adds value by explaining the tool's purpose beyond the schema, which is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is an index of documentation pages in section order, and explicitly says 'Comece por aqui' (Start here), distinguishing it from sibling tools like search, read, and list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is the entry point to the documentation, guiding users to start here. It does not explicitly contrast with siblings but provides clear context for when to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jangada_ler_docB

Conteúdo completo de uma página. nome = arquivo (com ou sem .mdx), ex.: 'rag', 'mcp', 'eval', 'agents', 'structured-output'. lang: 'pt' (padrão) ou 'en'.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNo
nomeYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It only states that it returns full content but does not specify if it is read-only, authentication needs, rate limits, or side effects. The description is insufficient for an agent to understand behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, consisting of one sentence with embedded parameter details. It is front-loaded with the main purpose and efficiently explains parameters. However, it could be structured with clear sections for better readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 2 parameters, no output schema, and sibling tools, the description covers parameter semantics well but lacks usage guidelines and behavioral details. It is adequate for simple use but not complete for an agent to reliably select and invoke the tool without extra context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate. It explains that 'nome' is a file name (with/without .mdx) and provides specific examples (rag, mcp, etc.), and explains 'lang' defaults to 'pt' with 'en' option. This adds significant meaning beyond the raw schema types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Conteúdo completo de uma página' (full content of a page), indicating it retrieves full document content. It explains the parameters with examples, making the purpose clear. However, it does not explicitly differentiate from sibling tools like jangada_listar_docs or jangada_buscar, leaving room for ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides parameter examples and default values, implying usage context. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., when to read a doc vs search or list), and no exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jangada_listar_docsA

Lista todas as páginas de documentação (nome do arquivo — título).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It states the tool lists all pages, but does not disclose potential behaviors like authentication requirements, rate limits, ordering, or pagination. It is adequate but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that efficiently conveys purpose and output. No wasted words; it is front-loaded and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description is minimal. It covers basic output but lacks details such as ordering, completeness guarantee, or prerequisites. Could be more complete (e.g., 'Alphabetical list of all documentation pages').

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema coverage is 100% vacuously. The description adds meaning by specifying the output format (file name — title), which is helpful context beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all documentation pages and specifies the output format (name and title). It distinguishes from sibling tools like jangada_buscar (search), jangada_indice (index), and jangada_ler_doc (read specific doc).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when a user wants a full list, but it does not explicitly state when to use this tool versus alternatives or provide any exclusions. Usage guidance is only implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4/5.0
Disambiguation5/5

Each tool has a distinct purpose: searching, listing index, reading a specific document, and listing all documents. There is no overlap or ambiguity.

Naming Consistency5/5

All tools follow the pattern `jangada_<action>` in snake_case (buscar, indice, ler_doc, listar_docs), with consistent formatting and clear verb/noun usage.

Tool Count5/5

Four tools is a reasonable count for a documentation server, covering search, navigation, and reading without being too few or too many.

Completeness4/5

The tool set covers essential documentation operations (search, index, read, list). A minor gap might be the absence of a tool to retrieve table of contents or metadata for a page, but core workflows are well-supported.

Maintenance

ActivityActive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nerigleston/jangada-docs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server