Investec OpenAPI MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Investec OpenAPI MCP Servershow me my account balances"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
šµ Investec OpenAPI MCP Server
A premium, production-ready Model Context Protocol (MCP) server that wraps the official Investec OpenAPI. It enables AI coding assistants, developer agents (such as Claude Desktop, Cursor, or custom MCP clients), and automation scripts to interact directly and securely with your Investec personal, business, corporate, and programmable card accounts.
āāāāāāā āāāāāā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā āāāāāāā
āāāāāāāā āāāāāā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
āāāāāāāāā āāāāāā āāāāāāāāā āāāāāāāā āāā āāāāāā āāā
āāāāāāāāāāāāāāāāā āāāāāāāāāā āāāāāāāā āāā āāāāāā āāā
āāāāāā āāāāāā āāāāāāā āāāāāāāāāāāāāāāā āāā āāāāāāāāāāāāāāāā
āāāāāā āāāāā āāāāā āāāāāāāāāāāāāāāā āāā āāāāāāāā āāāāāāā
OPENAPI MCP SERVERš Key Architecture Highlights
š Secure In-Memory Token Management: Automatically performs the OAuth2 Client Credentials flow, safely caches tokens, and auto-refreshes them proactively before expiration. No tokens or secrets are ever written to disk or printed in terminal logs.
š Zero-Config Sandbox Mode: Connects out-of-the-box using the official Investec public Sandbox credentials. You can test account balances, payments, statements, and transaction listings instantly without registering for an developer account first.
š ļø Robust Typings: Exposes strict TypeScript type definitions for all API models, including complex payloads like batch payments (
paymultiple) and programmable card code compilation.š Stdio Transport Protocol: Implements JSON-RPC 2.0 over standard I/O (stdio) compliant with the official Model Context Protocol (MCP) specifications.
Related MCP server: paystack-mcp-server
š Repository Structure
investec-mcp-server/
āāā .github/workflows/ci.yml # Automated CI validation pipeline
āāā dist/ # Compiled JavaScript build outputs
āāā examples/ # Standalone SDK demo code
ā āāā pb-demo.ts # Demo of InvestecClient standalone usage
āāā src/ # TypeScript source code
ā āāā index.ts # MCP server declaration and tools router
ā āāā investec-client.ts # Core HTTP client & token manager
ā āāā types.ts # Strict TypeScript API schemas
āāā .env.example # Configuration settings template
āāā CONTRIBUTING.md # Open-source contribution guide
āāā LICENSE # Open source MIT License
āāā package.json # Build dependencies and commands
āāā tsconfig.json # TypeScript compilation rulesāļø Installation & Setup
1. Build from Source
Ensure you have Node.js (v18.0.0 or higher) installed on your system.
# Clone the repository
git clone https://github.com/Investec-Developer-Community/investec-mcp-server.git
cd investec-mcp-server
# Install package dependencies
npm install
# Compile TypeScript to JavaScript
npm run build2. Verify Connectivity (Sandbox Mode)
Run the sandbox integration test suite to verify that the server connects to the Investec developer sandbox API, fetches mock accounts, and reads balance sheets:
npm run test-sandboxš§ Environment Configuration
By default, the server runs in sandbox mode. To connect to your real live banking data, create a .env file in the root of the project (or copy .env.example to .env):
# 'production' to access live data, or 'sandbox' for mock accounts
INVESTEC_ENVIRONMENT=production
# Your Investec Developer credentials (obtained from Investec Online)
INVESTEC_CLIENT_ID=your_client_id
INVESTEC_CLIENT_SECRET=your_client_secret
INVESTEC_API_KEY=your_api_key
# Optional: Required for Advisor or Intermediary API scopes
INVESTEC_INTERMEDIARY_ID=your_intermediary_idKeep your credentials secure! Never commit your .env file to public version control. The included .gitignore is pre-configured to block .env uploads.
š¬ Claude Desktop Integration
To link the MCP server to your local Claude Desktop application, edit your claude_desktop_config.json:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Add the server specification under mcpServers:
{
"mcpServers": {
"investec-banking": {
"command": "node",
"args": [
"C:/path/to/investec-mcp-server/dist/index.js"
]
}
}
}Note: Make sure to replace C:/path/to/investec-mcp-server with the absolute path to your local project directory.
š ļø Standalone SDK Usage
You can also import and use the underlying InvestecClient class as a standalone SDK in your own custom Node.js projects, independent of the MCP protocol:
import { InvestecClient } from "./src/investec-client";
async function main() {
// Uses .env variables or falls back to public Sandbox defaults
const client = new InvestecClient({ environment: "sandbox" });
// List Accounts
const response = await client.pbListAccounts();
const accounts = response.data.accounts;
console.log(`Found ${accounts.length} accounts.`);
}
main();For a complete code demonstration, see examples/pb-demo.ts.
š§° Exposed Tools Reference
The server registers the following MCP tools:
š³ Private Banking (PB)
Tool Name | Parameters | Description |
| None | List linked accounts ( cheque, savings, profiles ). |
|
| Get available, current, and currency balance detail. |
|
| Fetch filtered transaction ledger feed. |
|
| List outstanding pending transactions (e.g. card swipes). |
| None | List online profiles associated with user identity. |
|
| List accounts associated with specific profile. |
| None | Fetch registered payment beneficiaries. |
|
| Make batch payments to list of beneficiaries. |
|
| Transfer funds between own accounts. |
|
| Retrieve list of statements and tax certificates. |
|
| Fetch download link for specific statement PDF. |
š» Programmable Cards
Tool Name | Parameters | Description |
| None | List credit and debit cards linked to account. |
|
| Issue virtual cards dynamically. |
|
| Get draft/working card JS scripts. |
|
| Upload new code draft for programmable cards. |
|
| Publish and activate code for card swipe authorization. |
|
| Simulate card swipe swipe to test custom script logic. |
|
| Fetch execution history logs of script. |
|
| Retrieve script environment secrets. |
|
| Update script key-value environment secrets. |
|
| Turn programmable features on or off. |
š¢ Corporate & Institutional Banking (CIB)
Tool Name | Parameters | Description |
| None | List corporate accounts. |
|
| Get corporate transaction ledger with pagination. |
| None | List company entities under profile. |
|
| Query current shipment and order status data. |
š License
This project is open-source and released under the MIT License. Feel free to fork, distribute, and integrate this project in commercial and private setups. For official API support, consult the Investec Developer Portal.
Available Tools
37 toolsinvestec_card_countriesB
Get reference list of supported countries for card transactions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It states the tool fetches a reference list, which is a read operation, but does not disclose authentication requirements, caching behavior, or rate limits. More behavioral context would be helpful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no unnecessary words. It is front-loaded and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description is minimally adequate but lacks differentiation from sibling reference list tools (e.g., investec_card_currencies). Additional details on response format or usage would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 0 parameters, so the description adds no parameter-specific meaning. Per guidelines, baseline is 4 for 0 parameters, and the description does not need to add anything beyond schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a list of supported countries for card transactions. It is a specific verb+resource, and distinguishes from sibling reference list tools like investec_card_currencies or investec_card_merchants, though it could be more explicit about the return format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description implies it is for retrieving country reference data, but does not mention when not to use it (e.g., for transaction filtering) or explicitly compare with sibling reference tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_card_create_virtual_cardB
Create a virtual card for a specific account number.
| Name | Required | Description | Default |
|---|---|---|---|
| embossName | Yes | Emboss name line 1 | |
| embossName2 | No | Emboss name line 2 (optional) | |
| accountNumber | Yes | The account number to link the card to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits like side effects, permissions required, or whether creation is reversible. For a creation tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that communicates the core purpose. However, it is too brief at the expense of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with no output schema and no annotations, the description should provide more context about return values, error conditions, or usage constraints. It is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the parameter descriptions are self-explanatory. The tool description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (create), the resource (virtual card), and the context (for a specific account number). It distinguishes this tool from siblings like investec_card_list_cards or investec_card_get_card.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as investec_card_get_card or investec_card_toggle_programmable. The description does not mention prerequisites or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_card_currenciesB
Get reference list of supported currencies for card transactions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden; mentions 'reference list' implying safety, but lacks details on side effects, rate limits, or data freshness needed for a non-annotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no superfluous words; efficiently conveys the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple list tool with zero parameters, but lacks description of return format or output structure; sufficient for most use cases but could be improved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and schema coverage is 100%, so baseline is 3; description adds no param info, but none needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Get' and resource 'reference list of supported currencies' for card transactions, distinguishing it from sibling tools like country lists or card management.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool compared to alternatives; the description simply states what it does without context of typical scenarios or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_card_execute_codeA
Simulate a transaction authorization request against a card's code to test the code logic.
| Name | Required | Description | Default |
|---|---|---|---|
| cardKey | Yes | The unique key identifying the card | |
| authorizationModel | Yes | The transaction payload simulating a merchant swipe |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It mentions 'simulate', hinting at no side effects, but does not disclose required permissions, rate limits, whether state changes, or what happens on success/failure. This is insufficient for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no redundancy. It is efficiently front-loaded and immediately communicates the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does not explain the return value, side effects, or error behavior. For a simulation tool that may produce complex results, this is a significant gap. Annotations are also absent, leaving the agent without sufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are well-described in the schema. The description adds context by framing the parameters as part of a simulation against the card's code, which enhances understanding beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('simulate'), resource ('card's code'), and purpose ('test the code logic'). It uniquely identifies the tool among siblings like investec_card_get_code and investec_card_publish_code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for testing code logic but does not provide explicit when-to-use or when-not-to-use guidance, nor does it compare to alternative tools (e.g., investec_card_get_code for reading code).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_card_get_cardB
Retrieve details of a specific card by its card key.
| Name | Required | Description | Default |
|---|---|---|---|
| cardKey | Yes | The unique key identifying the card |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully disclose behavior. It indicates a read operation but omits any discussion of authentication requirements, returns, idempotency, or error conditions. The minimal statement does not adequately compensate for missing annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that conveys the essential purpose and required input with no wasted words. It earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with one parameter and no output schema, the description is largely sufficient. However, it could briefly mention what 'details' entails or relate to sibling tools for better context; this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the parameter 'cardKey' with 100% description coverage, and the description merely restates that the card is identified by its key. No additional semantic information or usage hints are added beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('retrieve details') and the target resource ('a specific card'), differentiated from sibling tools like list_cards and create_virtual_card. It specifies the required input (card key), making the purpose immediately obvious.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as list_cards or card creation tools. It does not mention any prerequisites, exclusions, or context for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_card_get_codeB
Retrieve the draft/working JavaScript code uploaded to a programmable card.
| Name | Required | Description | Default |
|---|---|---|---|
| cardKey | Yes | The unique key identifying the card |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden for behavioral disclosure. It only states the retrieval function but does not mention permissions, read-only nature, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the action and resource. No extraneous text, but could benefit from more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description does not indicate what the tool returns (e.g., the code string). Context among siblings is moderate, but the description is incomplete for a retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter (cardKey) described. The description adds no additional meaning beyond what the schema provides; baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Retrieve') and the specific resource ('draft/working JavaScript code uploaded to a programmable card'). It effectively distinguishes from siblings like investec_card_get_published_code and investec_card_update_code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., get_published_code). It does not specify prerequites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_card_get_env_varsB
Retrieve environment variables (secrets/constants) configured for a card's code.
| Name | Required | Description | Default |
|---|---|---|---|
| cardKey | Yes | The unique key identifying the card |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only says 'Retrieve', implying no side effects, but does not confirm idempotency, access requirements, or error cases. For a read-only tool, minimal transparency is acceptable but could be improved by stating it is safe and does not modify state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the purpose. No redundant or vague wording. It earns its place without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool having one parameter and no nested objects, there is no output schema, and the description does not explain the return format (e.g., key-value pairs). For a retrieval tool, this omission reduces completeness. More detail on what the retrieved data looks like would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (cardKey) with 100% schema description coverage. The description does not add any additional meaning beyond what the schema already provides for the parameter. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Retrieve) and resource (environment variables for a card's code). It specifies the domain (card's code) and differentiates from siblings like investec_card_update_env_vars, which is the update counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (when needing to read environment variables), but does not explicitly state when not to use it or mention alternatives. No prerequisites or context for selection among siblings is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_card_get_execution_historyB
Retrieve the logs and execution history of transaction approvals running on the card's programmable code.
| Name | Required | Description | Default |
|---|---|---|---|
| cardKey | Yes | The unique key identifying the card |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description does not disclose behavioral traits such as read-only status, required permissions, or what happens when no history exists. For a retrieval tool without annotations, more detail is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with verb and resource, no unnecessary words. Highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter and no output schema, the description is minimally adequate. It states what is retrieved but does not mention return format or pagination, which is acceptable for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter cardKey. The description adds no extra meaning beyond the schema's description, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'retrieve' and clearly identifies the resource: logs and execution history of transaction approvals on the card's programmable code. It distinguishes well from siblings like investec_card_execute_code or investec_card_get_code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. Does not mention alternatives or conditions for selecting this tool over related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_card_get_published_codeB
Retrieve the currently active/published JavaScript code running on the programmable card.
| Name | Required | Description | Default |
|---|---|---|---|
| cardKey | Yes | The unique key identifying the card |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden. It only states the retrieval action but does not disclose whether it is read-only, any required permissions, or error conditions. Minimal behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with 12 words, no redundancy. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with one parameter and no output schema, the description is fairly complete. It hints at a published vs draft distinction, which adds context. Could mention return format or empty state, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter 'cardKey' described as 'The unique key identifying the card'. The description adds no additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Retrieve') and specific resource ('currently active/published JavaScript code'), distinguishing it from siblings like investec_card_get_code (which may retrieve draft code) and investec_card_publish_code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus related tools (e.g., investec_card_get_code, investec_card_execute_code) or any prerequisites. The description lacks explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_card_list_cardsA
List all debit and credit cards on the account, including card status, programmable features, and details.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It correctly implies a read-only operation but does not disclose potential pagination, rate limits, or authentication requirements, leaving gaps for a production tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no redundancy, directly stating purpose and included details. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description covers the main action and returned attributes. However, it lacks details on authorization or data volume, but for a list tool this is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so the description doesn't need to explain them. With baseline 4 for zero-parameter tools, the description adds no extra semantics but is not required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool lists all debit and credit cards on the account, including specific attributes. Strong verb and resource identification, easily distinguished from sibling tools that create, get individual cards, or toggle settings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is self-evident for a no-parameter listing tool, but no explicit guidance on when to use vs. siblings like 'investec_card_get_card' for specific card details is missing. Still, the simplicity makes it adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_card_merchantsA
Get reference list of merchant categories (MCCs).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must convey behavior. 'Get reference list' implies a read-only operation, but no additional details (e.g., authentication needs, rate limits) are provided. This is minimal but acceptable for a simple retrieval.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the key verb and resource. Every word is necessary, and there is no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description provides enough context for a simple reference list. It explains what the tool returns, though it could mention typical use cases or limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and the schema coverage is 100%. The description adds no parameter information, which is appropriate since there are none. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'reference list of merchant categories (MCCs)', making the tool's purpose unambiguous. It is distinct from sibling tools like investec_card_countries by specifying a different resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided, but the purpose is clear and siblings are differentiated by resource type. Implied usage is adequate for a simple reference list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_card_publish_codeA
Publish the draft code block for a card to make it active for transactions.
| Name | Required | Description | Default |
|---|---|---|---|
| cardKey | Yes | The unique key identifying the card |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavioral disclosure. The description indicates a mutation (publishing draft to active), but does not mention if it is destructive, reversible, requires authorization, or what happens to the draft after publishing. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no redundant information. It is front-loaded with the action and resource, making it easy for an agent to understand the tool's function quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter, no output schema), the description provides a minimal understanding of its purpose. However, it lacks behavioral transparency and usage guidelines, which are important for an agent to safely invoke the tool. It is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter cardKey, which is described as 'The unique key identifying the card' in the schema. The description adds no additional meaning or context for the parameter, so it meets the baseline for high coverage without extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to publish a draft code block for a card, making it active for transactions. It uses a specific verb ('publish') and resource ('draft code block for a card'), which distinguishes it from sibling tools like investec_card_update_code and investec_card_execute_code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when a draft code block is ready to be activated, but it does not explicitly state when to use this tool versus alternatives (e.g., investec_card_update_code for editing drafts, investec_card_execute_code for executing code). No prerequisites or context on when not to use are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_card_toggle_programmableB
Toggle the programmable banking feature on/off for a specific card.
| Name | Required | Description | Default |
|---|---|---|---|
| cardKey | Yes | The unique key identifying the card |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. 'Toggle on/off' implies state change but does not disclose the impact (e.g., whether existing code is affected, if confirmation is needed, or if the operation is reversible). This lack of transparency could lead to unexpected outcomes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the purpose without waste. Every word is necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple toggle with one parameter and no output schema, the description is adequate but lacks behavioral context and usage conditions. It partially meets the needs of an AI agent but could be more informative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter 'cardKey' is described clearly in the schema. The description adds no additional meaning beyond 'toggle on/off', so it meets the baseline but does not enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'toggle' and the resource 'programmable banking feature on a specific card', effectively communicating the core action. It distinguishes itself from sibling tools focused on code execution or card creation. However, it could be more precise about what 'programmable feature' entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor are there any prerequisites or conditions for toggling the feature. The agent is left without context on appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_card_update_codeB
Upload a draft JavaScript code block for a programmable card.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The JavaScript code snippet to upload | |
| cardKey | Yes | The unique key identifying the card |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It only states 'upload a draft' but does not disclose behavioral traits: whether it overwrites, if it validates code, what happens on success, or any permissions needed. This is insufficient transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that is front-loaded with the main action. No unnecessary words, making it highly concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite low complexity (2 params, no output schema), the description omits critical context: what 'draft' means in the lifecycle, what the tool returns, and how it relates to sibling tools. The agent lacks information to use it correctly without external knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The tool description adds the word 'draft' but does not provide additional meaning beyond what the schema already describes for both parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Upload' and resource 'draft JavaScript code block for a programmable card'. The word 'draft' distinguishes this from sibling tools like investec_card_publish_code, making the purpose specific and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., publish_code, execute_code). There is no mention of prerequisites or context such as requiring a card to exist or code validation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_card_update_env_varsB
Save environment variables (key-value strings) for a card's programmable code.
| Name | Required | Description | Default |
|---|---|---|---|
| cardKey | Yes | The unique key identifying the card | |
| variables | Yes | Key-value dictionary of environment variables |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations present, so description carries full burden. While 'Save' implies mutation, it does not disclose whether variables are overwritten or appended, or specify authorization needs. Critical behavioral details are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 10 words, efficient and to the point. Could be slightly more structured with additional vital info, but not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema. The description fails to explain whether this is an update or full replacement of variables, and lacks side-effect information. For a mutation tool, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters have descriptions. The description adds 'for a card's programmable code' providing context, but does not add further syntax or constraints beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Save' and resource 'environment variables' for a card's programmable code, distinguishing it from sibling tools like investec_card_get_env_vars which retrieve variables.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like investec_card_get_env_vars or investec_card_update_code. No context about prerequisites such as the card needing to be programmable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_cib_get_account_transactionsC
Retrieve corporate transaction history for a CIB account.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| toDate | No | End date (YYYY-MM-DD) | |
| fromDate | No | Start date (YYYY-MM-DD) | |
| accountId | Yes | Corporate account ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states 'retrieve', implying read-only. It lacks details on pagination, date handling, authentication, or rate limits, leaving behavioral traits unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, but it is too brief for a tool with four parameters and context. It could be more informative without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description does not explain return format, pagination behavior, or date format expectations. For a transaction history tool, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no extra meaning to parameters beyond their schema names; 'transaction history' is generic.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves corporate transaction history for a CIB account, specifying the verb 'Retrieve' and the resource. However, it does not distinguish from the sibling tool investec_pb_get_account_transactions for personal banking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like the personal banking version. The description does not mention context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_cib_get_orders_shipments_reportB
Get current orders and shipment status report for a corporate company.
| Name | Required | Description | Default |
|---|---|---|---|
| companyName | Yes | Name of the corporate company |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only says 'Get' without stating read-only nature, side effects, rate limits, or required permissions. Minimal behavioral disclosure for a tool that likely involves no mutations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One-sentence description with 11 words, no wasted text. Concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 adequate for a one-parameter tool but could be improved by mentioning the report format or that it returns order and shipment status data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'companyName' is fully described in the schema. The tool description does not add any information about the parameter beyond what the schema already provides, so scores at baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool retrieves an 'orders and shipment status report' for a corporate company, using a specific verb-resource pair. It distinguishes from sibling tools like investec_cib_get_account_transactions, though 'orders' could be more precise (e.g., purchase orders, sales orders).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides no guidance on when to use this tool versus alternatives (e.g., other investec_cib tools) or any prerequisites. There is no mention of context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_cib_list_accountsA
List all Corporate Banking (CIB) accounts and balances.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It correctly implies a read-only operation (listing) with no destructive effects. No further behavioral traits are necessary for a simple list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise, front-loaded, and contains no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description only mentions 'accounts and balances' without specifying the return structure. For a list tool, this is adequate but could be more complete by indicating the type of balance information returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and schema coverage is 100%. The description does not need to add parameter information; it succinctly describes what the tool does without parameter ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all Corporate Banking (CIB) accounts and balances,' which specifies the verb (list), resource (accounts), and scope (Corporate Banking). It distinguishes from sibling tools like investec_pb_list_accounts and investec_ifi_list_accounts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly provide when or when not to use this tool. While the naming convention implies it is for Corporate Banking accounts, no alternative tools or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_cib_list_companiesA
List all companies associated with the CIB corporate profile.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read-only operation ('List') but does not disclose any behavioral traits such as authentication requirements, rate limits, or whether the list is paginated. For a simple tool, this is minimally adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that directly conveys the purpose without any extraneous information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with zero parameters and no output schema, the description sufficiently covers the core functionality. It is complete enough for an agent to understand what the tool does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters (input schema is empty), so the description does not need to add parameter information. With 100% schema coverage (by being empty), the baseline is 4, and the description does not add confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (List), the resource (companies), and the scope (associated with CIB corporate profile). It effectively distinguishes from sibling tools, which are primarily about cards, accounts, and other functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use or when not to use. While the tool is straightforward with no parameters, the lack of mention of alternatives or context leaves the agent with minimal decision support. However, sibling tools are distinct enough that confusion is unlikely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_ifi_forex_get_allowances_balanceB
Get foreign exchange allowances balance for a specific account.
| Name | Required | Description | Default |
|---|---|---|---|
| accountNo | Yes | Account number to query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It implies a read-only operation but does not explicitly state safety, authorization needs, or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded with the verb and resource. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, no output schema), the description is adequate but lacks details on what the balance entails or how results are returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no new meaning beyond what is already in the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Get' and the resource 'foreign exchange allowances balance' for a specific account. This distinguishes it from sibling tools which deal with cards, accounts, or payments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives or any prerequisites. The description simply states what it does without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_ifi_forex_list_bop_reportsA
List Balance of Payments (BOP) reports for foreign exchange reporting.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'List,' implying read-only behavior, but does not disclose whether the report list is filtered, paginated, or what data is included. No details on side effects or access requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that clearly conveys the tool's purpose with no unnecessary words. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description is adequate for a basic listing operation but lacks completeness. It does not explain what a BOP report contains, how results are ordered, or any limitations. The tool's simplicity reduces the need for extensive context, but some additional behavioral details would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so schema coverage is 100% and the description correctly adds no parameter details. No additional parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'Balance of Payments (BOP) reports for foreign exchange reporting,' leaving no ambiguity about what the tool does. The name and description together distinguish it from siblings like investec_ifi_forex_get_allowances_balance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as when to use investec_ifi_forex_get_allowances_balance or other forex tools. No context about prerequisites or exclusions is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_ifi_get_client_dashboardB
Query and view the client dashboard summary by keyword (client details, holdings).
| Name | Required | Description | Default |
|---|---|---|---|
| searchKeyword | Yes | Search term for client name, account, etc. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only says 'Query and view' implying read-only, but does not disclose permissions, rate limits, or any side effects. Full burden is on description, which is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single sentence with no redundancy. Action is front-loaded. Could be slightly more structured, but overall concise and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but description does not explain return format or fields beyond 'client details, holdings'. Lacks usage examples or context about what 'dashboard summary' includes. Incomplete for a query tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter 'searchKeyword' has schema description 'Search term for client name, account, etc.' which aligns with tool description. Schema coverage is 100%, and description adds context by specifying acceptable values (client name, account), exceeding baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action ('Query and view'), resource ('client dashboard summary'), and method ('by keyword'), with parenthetical indicating contents (client details, holdings). It distinguishes from sibling tools which focus on specific sub-areas like cards, CIB, or PB.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., investec_ifi_list_accounts). Does not mention prerequisites, exclusions, or context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_ifi_list_accountsA
List accounts linked to the active Intermediary profile.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the tool lists accounts. It does not disclose behavioral traits such as read-only nature, authentication requirements, or potential side effects, leaving the agent without important context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is front-loaded with the key action and scope, containing no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is simple with no parameters and no output schema, the description is adequate but lacks completeness regarding return values or response format, which could hinder an agent's understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%. Per baseline, a score of 4 is appropriate as no parameter information is needed beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List', the resource 'accounts', and the scope 'linked to the active Intermediary profile', which distinguishes it from sibling tools like investec_cib_list_accounts and investec_pb_list_accounts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for intermediary accounts, but does not explicitly state when to use this tool versus alternatives like investec_cib_list_accounts or investec_pb_list_accounts, nor does it provide any exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_pb_get_account_balanceC
Retrieve detailed balance information for a specific Private Banking account.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | The unique identifier of the bank account |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It only states 'retrieve', implying a read operation, but does not mention authentication requirements, response latency, caching behavior, or that the operation is non-destructive. The description is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. It is front-loaded with the action and resource. However, it could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description adequately conveys the core purpose. However, it fails to hint at the return value structure (e.g., 'balance, currency, available amount'), which would help the agent use the output effectively. It is minimally complete but has gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: the only parameter accountId is described in the schema as 'The unique identifier of the bank account'. The description adds no additional meaning beyond what the schema provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'retrieve' and the resource 'detailed balance information' for a specific account, which distinguishes it from sibling tools like investec_pb_list_accounts (which lists accounts) and investec_pb_get_account_transactions (which gets transactions). However, it does not specify what constitutes 'detailed balance information'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or when not to use it. For example, it could have noted that this tool is for retrieving current balance, not transaction history.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_pb_get_account_transactionsB
Retrieve transaction history for a specific Private Banking account. Supports date filtering and including pending transactions.
| Name | Required | Description | Default |
|---|---|---|---|
| toDate | No | Filter transactions to this date (format: YYYY-MM-DD) | |
| fromDate | No | Filter transactions from this date (format: YYYY-MM-DD) | |
| accountId | Yes | The unique identifier of the bank account | |
| includePending | No | Set to true to include pending transactions | |
| transactionType | No | Filter by type (e.g., 'Fees', 'CardTransactions', 'OnlineTransfers', 'Interest', 'AtmWithdrawals') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It describes the operation as a retrieval (safe) but does not disclose any behavioral traits such as rate limits, pagination, data freshness, or authorization requirements. The description is insufficient for an agent to assess safety or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words. It front-loads the main purpose and then lists features efficiently. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks important contextual details for using the tool, such as pagination behavior, maximum date range, ordering of results, or response format. Without an output schema or additional explanation, an agent may not know how to handle large result sets or interpret the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no additional meaning beyond mentioning features already covered by parameters (e.g., 'including pending transactions' maps to includePending). Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Retrieve' and the resource 'transaction history for a specific Private Banking account', and mentions key features (date filtering, including pending). It distinguishes from sibling tools like investec_pb_get_pending_transactions and investec_cib_get_account_transactions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (date filtering, pending transactions) but does not explicitly state when to use this tool over alternatives like investec_pb_get_pending_transactions. No 'when not to use' or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_pb_get_authorisation_setup_detailsA
Get authorization setup details for a profile and account (critical for understanding who needs to approve a batch payment).
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | The unique account identifier | |
| profileId | Yes | The unique profile identifier |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must handle behavioral transparency. It implies a read operation via the verb 'Get' and explains the practical consequence, but it does not explicitly state safety (read-only), required permissions, or potential side effects. The description adds some context beyond the name but lacks full disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the verb and resource, followed by a reason for use. Every part is informative, with no redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get operation with only two parameters and no output schema, the description is largely complete. It explains the purpose and usage context well. A minor gap is the lack of any hint about the return structure, but the absence of an output schema reduces the need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters having basic descriptions ('The unique account identifier'). The tool description does not add any additional meaning or constraints beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'authorization setup details', and specifies the scope 'for a profile and account'. It adds critical context about its importance for batch payment approval, distinguishing it from sibling tools like investec_pb_get_pending_transactions or investec_pb_list_accounts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly indicates when this tool is critical (for understanding who needs to approve a batch payment), providing clear context. However, it does not explicitly state when not to use it or mention alternatives, though the sibling tools do not directly overlap in purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_pb_get_documentB
Retrieve a specific document or statement file (returns metadata and document link).
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | The unique identifier of the bank account | |
| documentDate | Yes | Date of document (format: YYYY-MM-DD) | |
| documentType | Yes | Type of document, typically 'Statement' or 'TaxCertificate' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions the return type (metadata and document link) but does not disclose whether the operation is read-only, any authentication requirements, rate limits, or side effects. With no annotations, the burden is higher, and the description falls short.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the key action and object. It is concise with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three required parameters, no output schema, and no annotations, the description is minimal. It does not explain what metadata is included, how to use the returned link, or any error conditions, leaving significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for all three parameters. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a specific document or statement file, using the verb 'Retrieve' and specifying the resource. This distinguishes it from the sibling tool 'investec_pb_get_documents' which likely retrieves multiple documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., 'investec_pb_get_documents'). There is no mention of prerequisites, contextual cues, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_pb_get_documentsA
List available PDF documents (such as statements and tax certificates) for an account. Supports optional fromDate and toDate filters.
| Name | Required | Description | Default |
|---|---|---|---|
| toDate | No | Filter documents to this date (format: YYYY-MM-DD) | |
| fromDate | No | Filter documents from this date (format: YYYY-MM-DD) | |
| accountId | Yes | The unique identifier of the bank account |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear the full behavioral disclosure. It states it lists PDF documents but does not describe the return format (e.g., list of document metadata) or whether pagination is used. For a simple list tool, this 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences front-loaded with the action and resource, followed by optional filters. No redundant information. Slightly hampered by lack of details on output, but still concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the basic functionality but does not explain what the list returns (likely an array of document references) or if there are limits/pagination. Given no output schema, more context on the response would be helpful but is not strictly required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds context about document types ('such as statements and tax certificates') and reinforces the optional filters, but does not add significant new meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists PDF documents for an account, specifying the resource (PDF documents), verb (list), and scope (for an account). It distinguishes itself from the sibling investec_pb_get_document (singular) which likely retrieves a single document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates optional date filters but does not provide explicit guidance on when to use this tool versus alternatives. The sibling name difference (plural vs singular) implies this is for listing, but 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.
investec_pb_get_pending_transactionsB
Retrieve pending/unposted transactions for a specific Private Banking account.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | The unique identifier of the bank account |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist. Description only states the action without disclosing behavior like authentication requirements, data freshness, or what 'pending/unposted' implies. Minimal transparency beyond the basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence. Front-loaded with verb and resource. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple tool (1 param, no output schema), description is adequate but misses opportunity to explain the concept of pending transactions or differentiate from similar tools. Just barely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter (accountId). Description does not add extra meaning beyond what the schema already provides ('unique identifier of the bank account'). Baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'Retrieve' and resource 'pending/unposted transactions for a specific Private Banking account'. It clearly distinguishes from siblings like investec_pb_get_account_transactions (posted transactions) and CIB tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs other similar tools (e.g., investec_pb_get_account_transactions). No 'when-to-use' or 'when-not-to-use' context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_pb_list_accountsA
List all Private Banking (PB) accounts linked to the user profile, including account balances and details.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must convey behavioral traits. It mentions returning balances and details but does not specify whether the request is read-only, idempotent, or has any side effects. Safety, rate limits, or data freshness are not addressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently communicates the tool's action and scope without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description provides the key functionality and result content. It is mostly complete, though it could benefit from noting whether pagination or filtering is supported, but this is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters and schema description coverage is 100%. Since the description adds nothing about parameters, the baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all Private Banking accounts linked to the user profile, including balances and details. This is specific and distinguishes it from sibling tools like investec_pb_get_account_balance (single account) and investec_pb_list_profile_accounts (accounts per profile).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided. The purpose is clear, but there is no mention of alternatives or context that would help an agent choose between this and similar tools like investec_pb_list_profile_accounts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_pb_list_beneficiariesA
List all global beneficiaries defined on the user's online banking profile.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states 'list' which implies a safe read operation, but does not disclose details like whether the list includes pending beneficiaries, if any caching is involved, or what 'global' means across profiles. Minimal transparency beyond the action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence, front-loaded with the verb and resource, and contains no unnecessary words. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, no annotations, no output schema, and the tool's simplicity, the description is complete. It clearly states what the tool doesālist all global beneficiariesāand no additional context is needed for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema is empty with 100% coverage. The description does not need to add parameter details. According to the rubric, baseline is 4 for no parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all global beneficiaries' with a specific verb (list) and resource (global beneficiaries), and the name includes 'list_beneficiaries', which is transparent. It distinguishes from sibling tools like investec_pb_list_beneficiary_categories and investec_pb_list_profile_account_beneficiaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description 'List all global beneficiaries defined on the user's online banking profile' implies a simple read operation used when needing a complete list of global beneficiaries. It does not explicitly state alternatives or when not to use, but the sibling tool names indicate more specialized beneficiary lists exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_pb_list_beneficiary_categoriesB
List categories used to organize beneficiaries.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only states 'list' without indicating whether the operation is read-only, requires authentication, or has any side effects. The minimal description leaves significant gaps for an AI agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, efficient, no superfluous content. Could be slightly expanded with behavioral cues without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool with zero parameters and no output schema, but the description lacks essential context like whether the list includes all categories (global vs. user-specific) or any sorting/ordering behavior. Compared to the richness of sibling tools, it is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has zero parameters (100% coverage), so the baseline is high. The description adds context by explaining categories are for organizing beneficiaries, which has some value beyond the empty schema. However, it could elaborate on what categories entail (e.g., user-defined vs. system).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'list' and the resource 'categories used to organize beneficiaries.' It is specific enough to distinguish from beneficiary listing tools but does not explicitly differentiate from similar sibling tools like investec_pb_list_beneficiaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance provided on when to use this tool versus alternatives such as investec_pb_list_beneficiaries or investec_pb_list_profile_account_beneficiaries. No explicit usage context or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_pb_list_profile_account_beneficiariesB
List beneficiaries linked to a specific account under a profile.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | The unique account identifier | |
| profileId | Yes | The unique profile identifier |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only says 'list,' implying read-only, but lacks details on pagination, required permissions, error behavior, or data freshness. This is a significant gap for a tool that fetches sensitive beneficiary data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded. However, it is slightly under-specified and could incorporate additional useful context (e.g., required scopes) without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema, no annotations), the description is minimally complete. It explains the core function but does not describe the response structure or any constraints, leaving the agent to infer behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%āboth parameters have descriptions ('The unique account identifier' and 'The unique profile identifier'). The description adds no additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List beneficiaries linked to a specific account under a profile,' using a specific verb and resource that distinguishes it from sibling tools like 'investec_pb_list_beneficiaries' (which lists all beneficiaries without account filtering) and 'investec_pb_list_profile_accounts'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (listing beneficiaries for a specific account and profile) but does not explicitly state when to use this tool versus alternatives, nor does it mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_pb_list_profile_accountsA
List all bank accounts associated with a specific Online Banking profile.
| Name | Required | Description | Default |
|---|---|---|---|
| profileId | Yes | The unique profile identifier |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description is the sole source. It states the operation is a read-only list, but omits details like required permissions, rate limits, pagination, or any side effects. Minimal transparency beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no fluff, directly conveys the tool's purpose. Highly efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a straightforward list operation, but lacks details on output structure (no output schema) and error handling. Given the complexity and sibling context, more context on return format would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (profileId) with 100% schema coverage. The description does not add any semantic meaning beyond the schema's 'The unique profile identifier', so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (list), resource (bank accounts), and scope (associated with a specific profile). It effectively differentiates from siblings like investec_pb_list_accounts which may list all accounts without profile constraint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage requires a profileId, but provides no explicit guidance on when to use this tool versus alternatives like investec_pb_list_accounts or investec_pb_list_profiles. No when-not conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_pb_list_profilesA
List all Investec Online Banking profiles linked to the user.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not mention authentication requirements, safety, or side effects. For a read operation, basic safety context is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no extraneous information, appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks details about output (e.g., what profile information is returned). With no output schema, the description should provide more context for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, baseline score of 4 as per rules. The description adds no additional meaning beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list' and the resource 'profiles', distinguishing it from sibling tools that focus on accounts, cards, or transactions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidelines on when to use this tool versus alternatives like investec_pb_list_accounts. Context is implied but not elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_pb_pay_multipleA
Initiate batch payments to one or more beneficiaries. Note: Beneficiaries must be pre-registered and paid at least once via online banking.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | The source bank account ID to pay from | |
| paymentList | Yes | Array of payment instructions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It correctly indicates a write operation (initiate payments) and a prerequisite, but lacks details on authentication, failure behavior, or consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that are front-loaded and contain no wasted words. Each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema or annotations, the description should provide more context about return values or side effects. It covers the purpose and a prerequisite, but is incomplete for a payment tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the baseline is 3. The description adds no extra meaning to the parameters beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Initiate batch payments to one or more beneficiaries' with a specific verb and resource, distinguishing it from siblings like 'investec_pb_transfer_multiple' and 'investec_pb_list_beneficiaries'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a note on prerequisites: beneficiaries must be pre-registered and paid via online banking, providing clear usage conditions. It does not explicitly name alternative tools but implies when not to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
investec_pb_transfer_multipleA
Initiate transfers between own accounts (inter-account transfers).
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | The source bank account ID to transfer from | |
| paymentList | Yes | Array of transfer instructions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It mentions 'transfers between own accounts' but omits details such as authorization requirements, reversibility, fees, or potential side effects. This is a significant gap for a mutation operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, focused sentence with no extraneous information. Every word is necessary, and the phrasing is straightforward.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the basic purpose but lacks details about return values, error handling, batch behavior, or any prerequisites. For a multi-transfer operation, more context on success/failure handling would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all parameters clearly. The description adds context ('own accounts') but does not enhance parameter meaning beyond what the schema provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Initiate transfers between own accounts (inter-account transfers).' It specifies the verb 'Initiate transfers' and the resource 'own accounts', distinguishing it from sibling tools like investec_pb_pay_multiple, which likely handles external payments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for inter-account transfers but provides no explicit guidance on when to use this tool versus alternatives (e.g., pay_multiple). No contrast or context is given, leaving the agent to infer based on sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Tools are organized by clear domain prefixes (card, cib, ifi, pb) and each tool targets a specific action on a specific entity. No two tools have overlapping purposes; even similar actions (e.g., list_accounts) are for different domains or contexts.
All tool names follow a strict pattern: 'investec_{domain}_{action}_{detail}' using snake_case. The consistent prefix and verb_noun structure makes the surface predictable and easy to navigate.
37 tools is on the higher side, but the server covers multiple distinct banking domains (cards, corporate, intermediary, private banking), each with a reasonable set of operations. The count is justified given the breadth of functionality.
Each domain includes essential CRUD-like operations, queries, and management actions (e.g., card lifecycle, account details, transactions, beneficiaries). Minor gaps exist (e.g., updating beneficiaries, creating accounts) but these are common omissions in banking APIs.
Maintenance
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
Connect AI agents to bank accounts, transactions, balances, and investments.
Connect your Inter account to AI via Brazil's Open Finance: balances, statements, cards, investments
Connect your Necton account to AI via Brazil's Open Finance: balances, statements, cards, investment
Read-only bank access for your AI agent. Connects Claude, ChatGPT, Cursor, Gemini, Codex.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to access financial data from 20,000+ banks across 40+ countries, allowing users to query account balances, transactions, and spending patterns through natural language.5MIT

paystack-mcp-serverofficial
AlicenseAqualityBmaintenanceEnables AI assistants to interact with the full range of Paystack APIs, allowing operations like transaction management, customer creation, and payments through natural language.23853MIT- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to perform Nigerian banking operations including account management, payments, and identity verification through the Mono Open Banking API.59MIT
- AlicenseNot gradedqualityBmaintenanceBridges AI assistants with the Revolut Business API to enable banking operations such as listing accounts, checking balances, viewing transactions, managing counterparties, and initiating transfers through natural language.7331MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jonelgithub/investec_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server