broker-rails
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_quoteC | Current bid/ask for one symbol. |
| get_positionsD | Open positions. |
| get_accountC | Cash, equity, exposure and day P&L. |
| get_limitsA | The risk limits in force. Readable on purpose: an agent that can see the limits can plan within them instead of discovering them by rejection. Readable is not writable -- there is no corresponding setter anywhere in the server. |
| market_contextA | Quotes plus headline text for the allowed symbols. The headlines are the untrusted-content channel: this is where an injected instruction would arrive in a real deployment (news, filings, social). The tool is read-only by construction, so the worst an injection can do is persuade the model -- and the model cannot reach the order path except through rails that never read this text. |
| recent_decisionsB | The most recent pre-trade decisions, from the audit log. |
| place_orderB | Submit an order. Subject to pre-trade risk limits. By the time this body runs the middleware has already approved the order -- it is unreachable otherwise. The handler therefore uses the vetted intent from the middleware rather than re-parsing its own arguments, so there is no second interpretation of the agent's input that could differ from the one the rails checked. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Most tools are clearly distinct (place_order, get_positions, get_account, get_limits). The only potential overlap is market_context and get_quote, both providing quotes; market_context adds headlines, while get_quote is a focused bid/ask, so descriptions disambiguate them.
Read methods consistently use get_* prefix, but place_order diverges from verb_noun pattern, and market_context/recent_decisions are noun phrases. The mix is readable but not uniform.
7 tools cover a focused trading workflow without bloat. Each tool serves a distinct purpose in the domain, making the count well-scoped.
Core trading operations are covered: quotes, account, positions, order placement, risk limits, and market context/audit decisions. Missing cancel/update order and order status are minor gaps for a simple broker.