Poupa AI MCP
A personal finance MCP server that allows agents to read balances grouped by bank, category, card, or month, and filter transactions by date and keyword. It supports listing banks, cards, and categories, as well as creating, updating, deleting transactions in bulk, and moving money between user accounts.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://api.mcp.ai/p_poupaWhat its tools do
19 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (11)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Read balance grouped by bank, category, card, or month
- Filter transactions by date range and keyword
- Create, update, or delete transactions individually or in bulk
- Move money between user's own accounts
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- mcp-ai 0.9.409
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 19 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
19 advertised
poupa_get_balance
Saldo do usuário, agrupado por banco, categoria, método de pagamento, cartão, tipo (entrada/saída) e mês. start_date/end_date (YYYY-MM-DD) limitam a janela; sem datas, traz tudo.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"end_date": {
"type": "string"
},
"start_date": {
"type": "string"
}
}
}{
"title": "poupa_get_balance",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}poupa_retrieve_transactions
Lista transações no intervalo (YYYY-MM-DD), opcionalmente filtradas por palavras-chave (match parcial case-insensitive na descrição), cartão e/ou banco/pagador.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"end_date": {
"type": "string"
},
"keywords": {
"type": "array",
"items": {
"type": "string"
}
},
"card_name": {
"type": "string"
},
"start_date": {
"type": "string"
},
"payment_bank": {
"type": "string"
}
}
}{
"title": "poupa_retrieve_transactions",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}poupa_banks
Lista os bancos/contas do usuário.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"title": "poupa_banks",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}poupa_cards
Lista os cartões de crédito do usuário.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"title": "poupa_cards",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}poupa_category
Lista as categorias do usuário.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"title": "poupa_category",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}poupa_preferences
Preferências do usuário (idioma, moeda, etc.).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"title": "poupa_preferences",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}poupa_defaults
Categorias e métodos de pagamento padrão do usuário.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"title": "poupa_defaults",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}poupa_memories
Memórias/notas do usuário gravadas no Poupa AI.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"title": "poupa_memories",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}poupa_add_transaction
Cria uma transação. value e date são obrigatórios; demais campos opcionais. Para parcelar, use installments; para recorrer, use expense_recurrency (dias) OU recurrency_array_dates (lista de datas).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"value",
"date"
],
"properties": {
"date": {
"type": "string"
},
"value": {
"type": "number"
},
"category": {
"type": "string"
},
"card_name": {
"type": "string"
},
"description": {
"type": "string"
},
"installments": {
"type": "number"
},
"payment_bank": {
"type": "string"
},
"expense_recurrency": {
"type": "number"
},
"recurrency_array_dates": {
"type": "array",
"items": {
"type": "string"
}
}
}
}{
"title": "poupa_add_transaction",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}poupa_add_transactions
Cria várias transações de uma vez (bulk). transactions[] é obrigatório; cada item segue o mesmo shape de poupa_add_transaction.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"transactions"
],
"properties": {
"transactions": {
"type": "array",
"items": {
"type": "object",
"required": [
"value",
"date"
],
"properties": {
"date": {
"type": "string"
},
"value": {
"type": "number"
},
"category": {
"type": "string"
},
"card_name": {
"type": "string"
},
"description": {
"type": "string"
},
"installments": {
"type": "number"
},
"payment_bank": {
"type": "string"
},
"expense_recurrency": {
"type": "number"
},
"recurrency_array_dates": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}{
"title": "poupa_add_transactions",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}poupa_update_transactions
Atualiza uma ou mais transações existentes. Informe os ids alvo no filtro e os campos a alterar (passthrough).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
}
},
"filter": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"changes": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
}{
"title": "poupa_update_transactions",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}poupa_delete_transactions_by_filter
Deleta transações por filtro. O filtro precisa ser não vazio (a tool se recusa a deletar tudo). Aceita ids, intervalo de datas, descrição, categoria, etc.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
}
},
"category": {
"type": "string"
},
"end_date": {
"type": "string"
},
"start_date": {
"type": "string"
},
"description": {
"type": "string"
}
}
}{
"title": "poupa_delete_transactions_by_filter",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}poupa_transfer_between_banks
Registra uma transferência entre dois bancos/contas do PRÓPRIO usuário (movimento contábil — não executa transferência bancária real). value é o valor; date opcional (default = hoje).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"from_bank",
"to_bank",
"value"
],
"properties": {
"date": {
"type": "string"
},
"value": {
"type": "number"
},
"to_bank": {
"type": "string"
},
"from_bank": {
"type": "string"
}
}
}{
"title": "poupa_transfer_between_banks",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}show_version
Show the current MCP platform and adapter versions.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"title": "Show Version",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}report_bug
Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"message"
],
"properties": {
"context": {
"type": "string",
"default": ""
},
"message": {
"type": "string"
},
"conversation": {
"type": "string",
"default": "[]"
}
}
}{
"title": "Report Bug",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}connect
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"title": "Connection Status",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}toolkit_info
Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"title": "Toolkit Info",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}marketplace
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "number",
"default": 10
},
"query": {
"type": "string",
"default": ""
},
"action": {
"enum": [
"search",
"describe",
"install",
"uninstall",
"subscribe",
"cancel",
"resume",
"report_bug",
"request_mcp",
"list_tools",
"invoke",
"search_prompts",
"get_prompt",
"publish_prompt"
],
"type": "string",
"default": "search"
},
"mcp_id": {
"type": "string",
"default": ""
},
"message": {
"type": "string",
"default": ""
},
"tool_id": {
"type": "string",
"default": ""
},
"arguments": {
"type": "string",
"default": "{}"
},
"immediate": {
"type": "boolean",
"default": false
},
"tier_slug": {
"type": "string",
"default": ""
},
"prompt_body": {
"type": "string",
"default": ""
},
"prompt_slug": {
"type": "string",
"default": ""
},
"prompt_tool": {
"type": "string",
"default": ""
},
"prompt_vars": {
"type": "string",
"default": "{}"
},
"conversation": {
"type": "string",
"default": "[]"
},
"prompt_title": {
"type": "string",
"default": ""
},
"request_name": {
"type": "string",
"default": ""
},
"cancel_reason": {
"enum": [
"too_expensive",
"missing_features",
"switched_service",
"unused",
"customer_service",
"too_complex",
"low_quality",
"other"
],
"type": "string"
},
"cancel_comment": {
"type": "string",
"default": ""
},
"prompt_targets": {
"type": "array",
"items": {
"enum": [
"claude",
"chatgpt",
"cursor",
"lovable"
],
"type": "string"
},
"default": []
},
"report_context": {
"type": "string",
"default": ""
},
"prompt_category": {
"type": "string",
"default": ""
},
"request_details": {
"type": "string",
"default": ""
},
"prompt_description": {
"type": "string",
"default": ""
}
}
}{
"title": "Marketplace",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}authenticate
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"token": {
"type": "string"
}
}
}{
"title": "Authenticate",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1762 ms
- 95th percentile latency
- 1762 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1762 ms · metadata changed · 19 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http poupa-ai-mcp https://api.mcp.ai/p_poupaCodex
codex mcp add poupa-ai-mcp --url https://api.mcp.ai/p_poupaCursor
{
"mcpServers": {
"poupa-ai-mcp": {
"url": "https://api.mcp.ai/p_poupa"
}
}
}Cline
{
"mcpServers": {
"poupa-ai-mcp": {
"type": "streamableHttp",
"url": "https://api.mcp.ai/p_poupa",
"disabled": false
}
}
}VS Code
{
"servers": {
"poupa-ai-mcp": {
"type": "http",
"url": "https://api.mcp.ai/p_poupa"
}
}
}Gemini CLI
gemini mcp add --transport http poupa-ai-mcp https://api.mcp.ai/p_poupaClaude Desktop
https://api.mcp.ai/p_poupaWindsurf
{
"mcpServers": {
"poupa-ai-mcp": {
"serverUrl": "https://api.mcp.ai/p_poupa"
}
}
}Let your agent find its tools
Find servers like Poupa AI MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.