Metadata-Version: 2.4
Name: tcg-oracle-tools
Version: 0.1.0
Summary: LangChain-compatible tools for TCG card grading, Monte Carlo pricing, and market search. Powered by The Undesirables TCG Oracle API.
Author-email: The Undesirables <theundesirablesnft@gmail.com>
License: MIT
Project-URL: Homepage, https://the-undesirables.com
Project-URL: API, https://methods-supplier-foundation-stuck.trycloudflare.com
Project-URL: ACP, https://app.virtuals.io/acp/agents/019d7e15-6548-7504-ab29-57ebea3960ca
Keywords: langchain,tcg,pokemon,trading-cards,ai-agent,grading,monte-carlo,openai
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Games/Entertainment
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: httpx>=0.25
Requires-Dist: pydantic>=2.0
Provides-Extra: langchain
Requires-Dist: langchain-core>=0.2; extra == "langchain"
Provides-Extra: crewai
Requires-Dist: crewai>=0.30; extra == "crewai"

# 🔮 TCG Oracle Tools

**LangChain, CrewAI & OpenAI-compatible tools for trading card game intelligence.**

Drop TCG search, market data, AI grading, and Monte Carlo price simulation into any AI agent in under 60 seconds.

## Install

```bash
pip install tcg-oracle-tools
```

With LangChain support:
```bash
pip install tcg-oracle-tools[langchain]
```

## Quick Start (Standalone)

```python
from tcg_oracle import TCGOracleClient

client = TCGOracleClient()

# Search 187K+ products
results = client.search("Charizard", limit=5)
for card in results.results:
    print(f"{card.name}: ${card.market_price}")

# Market snapshot
market = client.market("Pokemon")
print(f"Tracking {market.total_products} products")
```

## LangChain Agent

```python
from langchain.agents import initialize_agent, AgentType
from langchain_openai import ChatOpenAI
from tcg_oracle.langchain import TCGSearchTool, TCGMarketTool

tools = [TCGSearchTool(), TCGMarketTool()]
agent = initialize_agent(tools, ChatOpenAI(), agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION)
agent.run("What's the most expensive Pokemon card right now?")
```

## OpenAI Function Calling

```python
import openai
from tcg_oracle.openai_spec import tools, handle_tool_call

response = openai.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Find me Pikachu cards under $50"}],
    tools=tools(),
)

if response.choices[0].message.tool_calls:
    result = handle_tool_call(response.choices[0].message.tool_calls[0])
    print(result)
```

## CrewAI

```python
from crewai_tools import tool
from tcg_oracle import TCGOracleClient

client = TCGOracleClient()

@tool("Search TCG Products")
def search_tcg(query: str) -> str:
    """Search trading card products by name and get market prices."""
    result = client.search(query)
    return str([{"name": c.name, "price": c.market_price} for c in result.results])
```

## AutoGPT Plugin

Point AutoGPT at the OpenAPI spec:
```
https://methods-supplier-foundation-stuck.trycloudflare.com/openapi.json
```

## API Endpoints

| Endpoint | Price | Description |
|----------|-------|-------------|
| `/api/v1/search` | FREE | Search 187K+ TCG products |
| `/api/v1/market` | FREE | Daily market snapshot |
| `/api/v1/grade` | $0.05 USDC | AI card grading (PSA/Beckett) |
| `/api/v1/simulate` | $0.10 USDC | Monte Carlo price simulation |

## Agent-to-Agent (Virtuals ACP v2)

TCG Oracle is registered on [Virtuals ACP](https://app.virtuals.io/acp/agents/019d7e15-6548-7504-ab29-57ebea3960ca). Autonomous agents can discover, hire, and pay for services using USDC on Base.

## License

MIT
