Skip to main content
Glama
lodetomasi

Portfolio Copilot

by lodetomasi

capital_auction

Rank every use of new cash (underweight buckets, screened stocks, cash holdings) by marginal utility and suggest orders allocating to the highest-value option.

Instructions

Rank every use of new cash -- underweight target buckets, screened candidate stocks and holding cash itself -- by marginal utility (portfolio.auction) and allocate cash_eur to the winners, one economic order at a time. Bucket current values come from the local export mapped via portfolio.mapping against config/model_portfolios.yaml's example instruments; targets come from get_portfolio_config(). Candidate stocks are scored via analyze_stock; a stock below 0.5 confidence can never win. Each candidate's fit is its hidden-exposure overlap against the portfolio's own exposure (portfolio.exposure) -- a candidate that piles onto an already-large driver scores lower fit than one that diversifies. A stored thesis (check_thesis) discounts a candidate's utility if it is WEAKENING or BROKEN. Suggestions only -- never sends an order.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYes
cash_eurYes
base_currencyNoEUR
candidate_tickersNo
Behavior5/5

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

With no annotations provided, the description carries the full disclosure burden and does so richly. It explains key behaviors: scoring via analyze_stock, the 0.5 confidence veto, diversification-driven fit calculation, thesis-based utility discounts, and the fact that it only suggests and never executes. This gives an agent a strong mental model of what the tool does and its limits.

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

Conciseness4/5

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

The description is dense and relatively long, but every sentence adds substantive detail about the algorithm, data sources, or constraints. It front-loads the main purpose before diving into mechanics. It could be tightened, but the complexity of the tool justifies most of the length.

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

Completeness5/5

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

For a complex tool with no annotations and no output schema, the description is remarkably complete. It covers the ranking logic, input sourcing, candidate scoring, confidence threshold, diversification preference, thesis handling, and safety limitation. The only notable omissions are explicit return format and full parameter details, but the behavioral core is thoroughly specified.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate. It clearly explains cash_eur as the new cash to allocate and implies path refers to the local export used for bucket values, but base_currency is never mentioned and candidate_tickers is only indirectly tied to 'candidate stocks.' The description partially clarifies the parameters but leaves meaningful gaps for a 4-parameter tool.

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

Purpose5/5

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

The description clearly states the tool's specific action: ranking every use of new cash and allocating cash_eur to the highest marginal utility winners. It also distinguishes the tool by noting it is suggestion-only and never sends an order, which separates it from execution-oriented sibling tools. This is a specific verb+resource statement with clear scope.

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

Usage Guidelines3/5

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

The description provides substantial context about the tool's internal logic and constraints, implying it is for cash allocation suggestions driven by marginal utility. However, it does not explicitly state when to use this tool versus alternatives like allocate_cash or rank_candidates, and the only exclusion is indirect: 'never sends an order.' This is implied usage guidance rather than explicit routing.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lodetomasi/portfolio-copilot'

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