mcp-registry/com.firmfax/prop-firm-data · v1.0.0
As of 2026-10-19 09:58 UTC, the Firmfax Prop Firm Data MCP server is up with a Glimind reliability score of 99/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks.
Independent rule and fee data on 71 prop trading firms, every figure with its evidence state.
Claude Code
claude mcp add --transport http firmfax-prop-firm-data-mcp-server https://firmfax.com/api/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"firmfax-prop-firm-data-mcp-server": {
"type": "http",
"url": "https://firmfax.com/api/mcp"
}
}
}
Third-party server, listed as discovered. Review its source before installing.
6 of 6 tool(s) carry no readOnlyHint/destructiveHint annotations.
Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones. How to fix →
No tool declares an outputSchema.
Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →
In the last 30 days: 0 tool(s) removed and 3 schema change(s).
Add new tools or optional parameters instead of renaming or removing; deprecate first (say so in the description) and remove later. Agents cache tool contracts. How to fix →
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. All of them as JSON: /v1/readiness/mcp-registry%2Fcom.firmfax%2Fprop-firm-data/fixes
{
"name": "compare_firms",
"description": "Two firms side by side. Reports each figure with its evidence state and whether the pair is comparable at all: a field neither firm records is not a tie, and a field only one records is not a win. No per-field winner is declared, because the direction of \"better\" for several of these is a judgement the published scoring model already makes; each firm's grade is returned alongside so the verdict comes from that model rather than from this tool.",
"inputSchema": {
"type": "object",
"required": [
"a",
"b"
],
"properties": {
"a": {
"type": "string",
"description": "First firm slug."
},
"b": {
"type": "string",
"description": "Second firm slug."
}
}
},
"annotations": {
"readOnlyHint": true
}
}{
"name": "find_firms",
"description": "Firms matching every criterion given. A firm whose record does not carry a criterion is never counted as a match and never silently dropped: it is returned separately under unknown, with the field that could not be tested. Absence is common here, so read counts before treating the matched list as the answer.",
"inputSchema": {
"type": "object",
"properties": {
"assetClass": {
"enum": [
"forex",
"futures",
"crypto"
],
"type": "string",
"description": "Firms recorded as offering this. 21 of 71 records name no asset class and are returned as unknown."
},
"maxResetFee": {
"type": "number",
"description": "Reset fee at or below this. 56 of 71 record no fee."
},
"maxActivationFee": {
"type": "number",
"description": "Activation fee at or below this. 42 of 71 record no fee."
},
"maxConsistencyPct": {
"type": "number",
"description": "Consistency rule at or below this. 28 of 71 record none."
},
"maxDailyLossLimit": {
"type": "number",
"description": "Daily loss limit at or below this, in the unit dailyLossLimitUnit names. 31 of 71 record none."
},
"maxMinTradingDays": {
"type": "number",
"description": "Minimum trading days at or below this, counted as minTradingDaysUnit names. 16 of 71 record none."
},
"dailyLossLimitUnit": {
"enum": [
"percent",
"usd"
],
"type": "string",
"description": "The unit maxDailyLossLimit is in. Daily loss limits are recorded in percent at some firms and in dollars at others, and the two are never compared: a firm recorded in the other unit is returned under unknown with its unit named."
},
"maxMinDaysToPayout": {
"type": "number",
"description": "Minimum days to first payout at or below this, counted as minDaysToPayoutUnit names. 26 of 71 record none."
},
"minTradingDaysUnit": {
"enum": [
"calendar_days",
"trading_days",
"winning_days"
],
"type": "string",
"description": "What maxMinTradingDays counts: calendar_days, trading_days or winning_days. A minimum is compared only with minimums counted the same way; a firm counting another way, or stating no unit, is returned under unknown with what it counts named."
},
"minDaysToPayoutUnit": {
"enum": [
"calendar_days",
"trading_days",
"winning_days"
],
"type": "string",
"description": "What maxMinDaysToPayout counts: calendar_days, trading_days or winning_days. A wait is compared only with waits counted the same way; a firm counting another way, or stating no unit, is returned under unknown with what it counts named."
},
"minTradingDaysMinProfit": {
"type": "number",
"description": "With winning_days only: the profit a day must reach to count. A firm whose winning days carry a different profit bar is returned under unknown."
},
"minDaysToPayoutMinProfit": {
"type": "number",
"description": "With winning_days only: the profit a day must reach to count. A firm whose winning days carry a different profit bar is returned under unknown."
}
}
},
"annotations": {
"readOnlyHint": true
}
}{
"name": "get_evidence",
"description": "The stored reading behind a figure: the verbatim quote, the page it came from, and the date we read it. Answers \"we hold none\" explicitly rather than returning an empty list. `outcome` is load-bearing: a `contradicted`, `contradiction` or `absent` row records what we read, not a figure we publish. Use get_firm for the published figure.",
"inputSchema": {
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "The firm slug, e.g. \"topstep\"."
},
"field": {
"type": "string",
"description": "One field path, e.g. \"rules.dailyLossLimit\". Omit for every field we hold for this firm."
}
}
},
"annotations": {
"readOnlyHint": true
}
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/com.firmfax/prop-firm-data"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/com.firmfax/prop-firm-data"}) over MCP.
find_firms ~772 tokensget_rule_changes ~234 tokenscompare_firms ~186 tokensget_evidence ~182 tokensget_firm ~94 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Fcom.firmfax%2Fprop-firm-data?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Fcom.firmfax%2Fprop-firm-data?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fcom.firmfax%2Fprop-firm-data.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fcom.firmfax%2Fprop-firm-data.svg :target: https://glimind.com/server/mcp-registry%2Fcom.firmfax%2Fprop-firm-data?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:f71c0e4ce1a2ac7f…, first seen 2026-10-17, included at leaf 5012 of 26,054. Version history · verify what your client received.
Compare: most reliable data servers · most reliable search servers · most reliable knowledge servers · most reliable database servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-19 09:58 UTC, the Firmfax Prop Firm Data MCP server is up with a Glimind reliability score of 99/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks.
Firmfax Prop Firm Data MCP server advertises 6 tools, including compare_firms, find_firms, get_evidence, get_firm, get_rule_changes.
Point your MCP client at this streamable-http endpoint: https://firmfax.com/api/mcp
Glimind scanned all 6 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Status page: 90-day uptime, every outage and how long it lasted.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.