Skip to main content
Glama
tdnupe3

Coin Railz MCP Server

by tdnupe3

optimize_portfolio

Optimize cryptocurrency portfolio allocation using AI recommendations based on risk tolerance and current holdings to improve investment strategy.

Instructions

Get AI-powered portfolio optimization recommendations.

Args: holdings: List of current holdings [{"token": "...", "amount": "...", "chain": "..."}] risk_tolerance: Risk level. Options: low, medium, high

Returns: Rebalancing recommendations and optimal allocation.

Price: $1.00

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
holdingsYes
risk_toleranceNomedium

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Implementation Reference

  • The `optimize_portfolio` tool is defined as an async function decorated with `@mcp.tool()`. It handles the user request by building a payload with holdings and risk tolerance, then calls the `portfolio-optimization` service via `call_coinrailz_service`.
    async def optimize_portfolio(holdings: List[dict], risk_tolerance: str = "medium") -> str:
        """
        Get AI-powered portfolio optimization recommendations.
        
        Args:
            holdings: List of current holdings [{"token": "...", "amount": "...", "chain": "..."}]
            risk_tolerance: Risk level. Options: low, medium, high
        
        Returns:
            Rebalancing recommendations and optimal allocation.
        
        Price: $1.00
        """
        payload = {
            "holdings": holdings,
            "riskTolerance": risk_tolerance
        }
        result = await call_coinrailz_service("portfolio-optimization", payload)
        return json.dumps(result, indent=2)
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'AI-powered' and includes a 'Price: $1.00' which suggests a paid service, but doesn't disclose critical behavioral traits like rate limits, authentication requirements, whether this is a read-only analysis or triggers actual trades, or what happens with the recommendations.

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 appropriately sized with clear sections (purpose, args, returns, price). The 'Price: $1.00' line could be integrated more smoothly, but overall it's efficient with minimal waste. The structure helps with readability despite some formatting issues.

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

Completeness3/5

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

Given the tool has an output schema (which handles return values) but no annotations and 0% schema description coverage, the description provides basic purpose and parameter context but lacks important behavioral information. For a financial optimization tool that likely involves complex calculations and potentially paid services, more disclosure about limitations, accuracy, or implementation details would be beneficial.

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 description coverage is 0%, so the description must compensate. It provides some parameter semantics by describing 'holdings' as 'List of current holdings' with example structure and 'risk_tolerance' as 'Risk level' with options, which adds meaningful context beyond the bare schema. However, it doesn't fully explain the 'chain' field in holdings or provide format details for 'amount'.

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

Purpose4/5

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

The description clearly states the tool provides 'AI-powered portfolio optimization recommendations' and specifies it returns 'rebalancing recommendations and optimal allocation', which gives a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'track_portfolio' or 'get_risk_metrics' that might overlap in financial analysis domains.

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

Usage Guidelines2/5

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. There's no mention of prerequisites, when this optimization is appropriate, or how it differs from other portfolio-related tools in the sibling list like 'track_portfolio' or 'get_risk_metrics'.

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/tdnupe3/mcp-server-coinrailz'

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