ask_oracle
Ask for a probability estimate on any yes/no market question. Returns probability, key factors, and oracle reasoning for crypto, macro, and Polymarket questions.
Instructions
Ask the Octodamus oracle for a probability estimate on any yes/no market question. Returns an estimated probability, key factors for each side, and oracle reasoning. Works for crypto, macro, and Polymarket-style questions.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | A yes/no market question, e.g. Will BTC hit 100k by end of 2026? |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes | Oracle response text with signal data, analysis, or confirmation |
Implementation Reference
- server.py:190-196 (registration)Registration of the 'ask_oracle' tool via the @mcp.tool decorator with its description.
@mcp.tool( description=( "Ask the Octodamus oracle for a probability estimate on any yes/no market question. " "Returns an estimated probability, key factors for each side, " "and oracle reasoning. Works for crypto, macro, and Polymarket-style questions." ) ) - server.py:197-204 (handler)Handler function 'ask_oracle' that takes a yes/no market question and returns a TextResult directing the user to the Octodamus API for live probability estimates.
def ask_oracle( question: Annotated[str, Field(description="A yes/no market question, e.g. Will BTC hit 100k by end of 2026?")], ) -> TextResult: return TextResult(result=( f"Oracle analysis for: {question}\n\n" f"Submit to live oracle: https://api.octodamus.com\n" f"For real-time probability estimates, use the Octodamus API with your question as a parameter." )) - server.py:19-20 (schema)Schema definition for TextResult, the return type used by ask_oracle.
class TextResult(BaseModel): result: str = Field(description="Oracle response text with signal data, analysis, or confirmation")