{"server":{"name":"io.github.mcp-dir/b3-mcp","title":"Investidor B3","$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","remotes":[{"url":"https://api.mcp.ai/p_b3","type":"streamable-http"}],"version":"0.1.0","repository":{"url":"https://github.com/mcp-dir/b3-mcp","source":"github"},"description":"Your consolidated B3 investment portfolio (the central depository): position by asset, net worth, tr"},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","isLatest":true,"updatedAt":"2026-06-12T19:00:20.013253Z","publishedAt":"2026-06-12T19:00:20.013253Z","statusChangedAt":"2026-06-12T19:00:20.013253Z"},"dev.protogrid/connectability":{"class":"R0","autonomous":true,"human_steps":[],"preferred":{"kind":"remote","idx":0},"remotes":[{"idx":0,"url":"https://api.mcp.ai/p_b3","transport":"streamable-http","templated":false,"headers":[],"auth":{"type":"none","location":null,"secret_name":null,"oauth":null},"protocol":{"supported_versions":["2025-11-25"],"stateless":false},"health":{"reachable":true,"uptime_30d":1,"latency_ms_p50":145,"consecutive_failures":0,"last_probe_at":"2026-10-19T16:00:35.194Z","last_ok_at":"2026-10-19T16:00:35.194Z"}}],"packages":[]},"dev.protogrid/tools":[{"name":"authenticate","title":null,"description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: \"<jwt>\" } after the user pastes, or with no args to get the link.","annotations":{"title":"Authenticate","readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"},{"name":"b3_get_carteira","title":null,"description":"Resumo da carteira agrupado por classe de ativo (ações, FIIs, renda fixa, etc.) com valor e percentual de cada grupo.","annotations":{"title":"b3_get_carteira","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"},{"name":"b3_get_evolucao_patrimonial","title":null,"description":"Série histórica de evolução do patrimônio na B3.","annotations":{"title":"b3_get_evolucao_patrimonial","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"},{"name":"b3_get_patrimonio","title":null,"description":"Patrimônio total consolidado na B3 (soma de todas as corretoras) numa data. Retorna { valor, data }.","annotations":{"title":"b3_get_patrimonio","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"},{"name":"b3_get_perfil","title":null,"description":"Cadastro/perfil do investidor (identidade da conta B3 conectada).","annotations":{"title":"b3_get_perfil","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"},{"name":"b3_get_posicao","title":null,"description":"Posição DETALHADA por ativo numa data: ticker (codigoNegociacao), quantidade, preço de fechamento, valor atualizado, ISIN, instituição. Agrupado por tipo de produto. Paginado.","annotations":{"title":"b3_get_posicao","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"},{"name":"b3_get_ultima_atualizacao","title":null,"description":"Data/hora da última carga de dados da B3 (a base é D-1). Use para saber quão fresca está a posição.","annotations":{"title":"b3_get_ultima_atualizacao","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"},{"name":"b3_list_accounts","title":null,"description":"Lista as contas da Área do Investidor B3 conectadas a este install — id, label.","annotations":{"title":"b3_list_accounts","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"},{"name":"b3_list_ativos","title":null,"description":"Drill-down nos ativos de UM tipo de produto (informe `codigoProduto`), com valor e percentual de cada ativo do grupo. Para a posição COMPLETA de todos os ativos, use b3_get_posicao.","annotations":{"title":"b3_list_ativos","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"},{"name":"b3_list_instituicoes","title":null,"description":"Instituições (corretoras) vinculadas ao investidor na B3.","annotations":{"title":"b3_list_instituicoes","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"},{"name":"b3_list_movimentacao","title":null,"description":"Movimentação de ativos (entradas/saídas: transferências, subscrições, bonificações, etc.) num intervalo. Paginado.","annotations":{"title":"b3_list_movimentacao","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"},{"name":"b3_list_negociacoes","title":null,"description":"Negociações (compras/vendas) num intervalo de datas. Paginado por `page`.","annotations":{"title":"b3_list_negociacoes","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"},{"name":"b3_list_ofertas_publicas","title":null,"description":"Ofertas públicas (IPOs/subscrições) do investidor num intervalo. Paginado por `page`.","annotations":{"title":"b3_list_ofertas_publicas","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"},{"name":"b3_list_proventos_a_receber","title":null,"description":"Proventos provisionados a receber (dividendos/JCP futuros) numa data de referência.","annotations":{"title":"b3_list_proventos_a_receber","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"},{"name":"b3_list_proventos_recebidos","title":null,"description":"Proventos já recebidos (dividendos/JCP pagos) num intervalo de datas. Paginado.","annotations":{"title":"b3_list_proventos_recebidos","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"},{"name":"connect","title":null,"description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.","annotations":{"title":"Connection Status","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"},{"name":"marketplace","title":null,"description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\", \"consulta um CPF\", \"is there a tool for Y\". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.","annotations":{"title":"Marketplace","readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"},{"name":"report_bug","title":null,"description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.","annotations":{"title":"Report Bug","readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"},{"name":"show_version","title":null,"description":"Show the current MCP platform and adapter versions.","annotations":{"title":"Show Version","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"},{"name":"toolkit_info","title":null,"description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.","annotations":{"title":"Toolkit Info","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T16:00:35.194Z"}],"dev.protogrid/trust":{"score":87,"components":{"hygiene":100,"liveness":100,"freshness":65,"provenance":80},"drivers":["+repository","+namespace-matches-repo","+reachable","+uptime-100%","~updated-129d-ago"],"flags":[],"blocked":false,"computed_at":"2026-10-19T17:48:51.225Z","disclaimer":"Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed."},"dev.protogrid/quality":{"score":88,"label":"good","components":{"auth":null,"hygiene":93,"protocol":75,"stability":100,"dependencies":null},"checks":[{"id":"protocol.modern","detail":"newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28","status":"warn","category":"protocol"},{"id":"protocol.stateless","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"protocol.transport","detail":"streamable HTTP","status":"pass","category":"protocol"},{"id":"protocol.list_ttl","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"auth.prm","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.as_metadata","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.cimd","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.secret_in_url","detail":"no templated URL","status":"na","category":"auth"},{"id":"tools.descriptions","detail":"every tool has a description","status":"pass","category":"hygiene"},{"id":"tools.description_length","detail":"1 tools have descriptions over 1,024 characters, which crowds the context","status":"warn","category":"hygiene"},{"id":"tools.schemas","detail":"every tool has an object input schema","status":"pass","category":"hygiene"},{"id":"tools.annotations","detail":"20 of 20 tools declare readOnlyHint or destructiveHint","status":"pass","category":"hygiene"},{"id":"tools.directory_hints","detail":"every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint","status":"pass","category":"hygiene"},{"id":"tools.token_cost","detail":"about 2,698 tokens to load every tool","status":"pass","category":"hygiene"},{"id":"tools.api_dump","detail":"tools are not a one-to-one API dump","status":"pass","category":"hygiene"},{"id":"stability.changes","detail":"no tool changes in 30 days","status":"pass","category":"stability"},{"id":"stability.rug_pull","detail":"no tool changed its meaning under the same name","status":"pass","category":"stability"},{"id":"deps.known_vulns","detail":"no npm or PyPI package","status":"na","category":"dependencies"},{"id":"deps.mcp_sdk_version","detail":"no npm or PyPI package","status":"na","category":"dependencies"},{"id":"deps.resolvable","detail":"no npm or PyPI package","status":"na","category":"dependencies"}],"drivers":["~protocol.modern","~tools.description_length"],"flags":[],"tool_count":20,"token_estimate":2698,"tools_hash":"bb9b579212c7e202b90b3b7fa5455c67","tools_changed_at":null,"computed_at":"2026-10-19T17:25:45.993Z","disclaimer":"Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed."},"dev.protogrid/identity":{"canonical_id":"io.github.mcp-dir/b3-mcp","aliases":[],"alias_count":0,"repository_key":"github:mcp-dir/b3-mcp","owner":{"verified":false,"method":null,"since":null}}},"next_actions":[{"action":"list_tools","description":"Every current tool with input schemas","href":"/v1/servers/io.github.mcp-dir%2Fb3-mcp/tools","arguments":{"name":"io.github.mcp-dir/b3-mcp"}},{"action":"get_connection","description":"Minimal connection block for the preferred remote or package","href":"/v1/servers/io.github.mcp-dir%2Fb3-mcp/connection?target=mcpServers","arguments":{"name":"io.github.mcp-dir/b3-mcp","target":"mcpServers"}},{"action":"search","description":"Find other servers by intent","href":"/v1/search?q={query}","arguments":{"q":"{query}"}}]}