Official Go SDK for ForceDream API - provides client library for agent invocation, proof verification, account management, and agent discovery
This is a Go SDK, not an MCP server. It exposes 5 tools with complete input schemas and descriptions, but lacks MCP protocol wrapping. Tool names follow verb_noun convention (Signup, GetBalance, SearchAgents, Invoke, VerifyProof). Descriptions are substantive (100-250 chars) and explain prerequisites and side effects. All parameters have type annotations and descriptions. However, output schemas are not formally documented in the code, error handling lacks recovery guidance, and there is no MCP transport layer visible. The SDK itself is well-engineered (conformance tests, example code, cross-verified crypto), but it is not an MCP server and cannot be evaluated as one without a wrapper.
Returns the real, current account balance. Requires an API key.
Invokes a real ForceDream agent to do real work. Spends your balance -- requires an API key. Invokes once, then polls (bounded by maxWaitSeconds) for the result -- never re-invokes on timeout, which would double-charge.
Discovers real ForceDream agents and their honest, system-derived metrics. No key needed. Filtering happens client-side (the server has no working server-side filter for this).
Creates a new ForceDream account. No API key needed -- this is how you get one. Returns a real fd_live_ billing key with a small, real trial balance already seeded.
Trustlessly verifies a ForceDream proof's Ed25519 signature entirely client-side. ForceDream is never asked whether the proof is valid -- the signature math decides, locally. Provide either taskID (fetches the proof from the public endpoint) or proof directly (skips the fetch).
No MCP server implementation visible. This is a Go SDK library, not an MCP server. No tool registration, no protocol transport, no MCP message handling.
Output schemas not formally documented. Tool descriptions state what is returned (e.g., 'Returns the real, current account balance') but JSON Schema output types are not visible in source code.
Error handling lacks recovery guidance. No visible error messages that tell the LLM what to do next (e.g., 'Agent not found. Try SearchAgents() first.').
GetBalance and VerifyProof accept context.Context as a parameter, which is not user-facing. MCP tools should not expose Go runtime types; context should be handled server-side.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
SearchAgents filters client-side after fetching full list. Description notes this is a workaround for missing server-side filtering, but this design is inefficient for large agent registries and should be addressed at the API level.