Metadata-Version: 2.4
Name: crewai-instanode-tools
Version: 0.1.0
Summary: CrewAI tools for instanode.dev — provision Postgres + webhooks from CrewAI agents
License: MIT
Project-URL: Homepage, https://instanode.dev
Project-URL: Repository, https://github.com/InstaNode-dev/crewai-instanode-tools
Project-URL: Bug Tracker, https://github.com/InstaNode-dev/crewai-instanode-tools/issues
Keywords: crewai,crewai-tools,instanode,postgres,database,webhook,ai-agents
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Topic :: Database
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: instanode>=0.2.0
Requires-Dist: crewai-tools>=0.2
Requires-Dist: pydantic>=2.0
Provides-Extra: test
Requires-Dist: pytest>=8.0; extra == "test"
Dynamic: license-file

# crewai-instanode-tools

[CrewAI](https://crewai.com) tools for [instanode.dev](https://instanode.dev).
Let CrewAI agents provision ephemeral Postgres databases + webhook receivers
mid-task. No Docker, no account for the free tier.

```
pip install crewai-instanode-tools
```

## Usage

```python
from crewai import Agent, Task, Crew
from crewai_instanode_tools import (
    ProvisionPostgresTool,
    ProvisionWebhookTool,
)

db_provisioner = Agent(
    role="Infrastructure provisioner",
    goal="Give the team working database URLs with zero setup.",
    backstory="Spins up Postgres/webhooks via instanode.dev.",
    tools=[ProvisionPostgresTool(), ProvisionWebhookTool()],
)

task = Task(
    description="Stand up a Postgres DB for the embeddings pipeline and report its DSN.",
    agent=db_provisioner,
)

Crew(agents=[db_provisioner], tasks=[task]).kickoff()
```

## Tool catalog

- `ProvisionPostgresTool` — `postgres://` DSN, pgvector pre-installed.
- `ProvisionWebhookTool` — HTTPS receiver URL (stores last 100 request bodies).
- `ProvisionMongoTool` — `mongodb://` URI.
- `ListResourcesTool` — enumerate resources owned by the current API key.

### Paid-tier credentials

Set `INSTANODE_API_KEY` in your environment, or pass explicitly:

```python
ProvisionPostgresTool(api_key="sk_...")
```

## Tier model

| Tier | Postgres | Webhooks | Persistence |
|---|---|---|---|
| Anonymous (no key) | 10 MB / 2 connections | 100 stored | 24 hours |
| Paid | 500 MB / 5 connections | 1000 stored | Permanent |

## Related

- Python SDK: <https://pypi.org/project/instanode/>
- LangChain variant: <https://pypi.org/project/langchain-instanode/>
- LlamaIndex variant: <https://pypi.org/project/llama-index-tools-instanode/>
- MCP server (Claude Code / Cursor): <https://www.npmjs.com/package/@instanode/mcp>
- HTTP API: <https://instanode.dev/llms.txt>

## License

MIT.
