Metadata-Version: 2.5
Name: cracked-llamaindex
Version: 0.1.0
Summary: LlamaIndex FunctionTools for Cracked, the agent tool router: load_cracked_tools() gives an agent 50,000+ tools behind one key.
Project-URL: Homepage, https://cracked.ai
Project-URL: Documentation, https://cracked.ai/docs/integrations
Project-URL: Repository, https://cracked.ai/docs/integrations
Project-URL: Source, https://cracked.ai/docs/integrations
Author-email: Cracked Engineering <support@cracked.ai>
License-Expression: MIT
License-File: LICENSE
Keywords: agents,api,cracked,llama-index,llamaindex,llm,mcp,scraping,tool-router,tools
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.9
Requires-Dist: llama-index-core>=0.10
Requires-Dist: pydantic>=2
Description-Content-Type: text/markdown

# cracked-llamaindex

LlamaIndex tools for [Cracked](https://cracked.ai), the tool router for AI agents: one API key, 67,000+ tools
(web search, scrapers, social profiles, enrichment, media models) with measured health and real prices per call.

`load_cracked_tools()` turns every Cracked capability into a `FunctionTool` with a typed `fn_schema` built from
`GET /v1/capabilities/tools?format=openai`. Runs go through `POST /v1/run`; each result includes the run permalink.

```bash
pip install cracked-llamaindex llama-index-llms-openai
```

```python
import os, asyncio
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai import OpenAI
from cracked_llamaindex import load_cracked_tools

tools = load_cracked_tools(api_key=os.environ["CRACKED_API_KEY"], capabilities=["web-search", "youtube-transcript"])
agent = FunctionAgent(tools=tools, llm=OpenAI(model="gpt-4o-mini"), system_prompt="Use the tools; cite the run url.")
async def main():
    print(await agent.run("Summarize the latest Vercel Ship keynote from its YouTube transcript."))

asyncio.run(main())
# Each tool call returns {"run": {"runId", "status", "url", "costUsd", "durationMs"}, "output": ...}
```

Options: `capabilities` (ids, dashes or underscores), `set="top"|"all"`, `base_url`, `timeout`, `max_output_chars`.
Keys: https://cracked.ai/app/keys. Agents can self-register: `POST https://cracked.ai/v1/agents/register`.

- Docs: https://cracked.ai/docs/integrations
- Capabilities: https://cracked.ai/capabilities
- Pricing: https://cracked.ai/pricing (each tool page shows its per-run price)

MIT.
