@k3_2o/pi-composio
Pi extension — Composio integration for 1,000+ app tools
Package details
Install @k3_2o/pi-composio from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@k3_2o/pi-composio- Package
@k3_2o/pi-composio- Version
0.1.0- Published
- Jun 28, 2026
- Downloads
- not available
- Author
- k3_2o
- License
- MIT
- Types
- extension
- Size
- 36.1 KB
- Dependencies
- 1 dependency · 3 peers
Pi manifest JSON
{
"extensions": [
"./index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-composio
A pi extension that bridges pi's native tool system to Composio's 1,000+ app integrations.
One extension. 6 tools. 1,000+ apps. No MCP required.
Depends on Composio's TypeScript SDK (@composio/core).
How it works
Instead of writing separate MCP servers for Gmail, Slack, GitHub, Notion, etc., pi-composio registers 6 meta tools that let pi search, connect, and execute across 1,000+ apps through a single Composio session.
The agent's tool list stays lean (~1,200 tokens for all schemas), and individual app tools are discovered on demand through composio_search.
Available tools
| Tool | What it does |
|---|---|
composio_search |
Find tools in 1,000+ app catalog |
composio_get_schema |
Inspect tool schemas |
composio_execute |
Run any connected app tool |
composio_connect |
OAuth link for new apps |
composio_workbench |
Python sandbox (remote) |
composio_bash |
Shell in remote sandbox |
Tool flow
You: "check my unread gmail"
1. pi calls composio_search("check unread gmail")
→ returns GMAIL_FETCH_MESSAGES schema + "connected" status
2. pi calls composio_execute("GMAIL_FETCH_MESSAGES", { query: "is:unread" })
→ returns your unread emails
3. pi reads the results to you
Need an app you haven't connected yet? Use composio_connect in pi — it generates an OAuth link so you can authorise on the spot without leaving the chat.
Setup
1. Get an API key
Go to the Composio dashboard → Sign up → Copy your API key from Settings.
They offer a very generous free tier.
2. Connect your apps and get your user ID
Open Composio's dashboard → Toolkits in the sidebar → pick your app → Setup auth config → authorize via API key or OAuth.
Once active, go to Users in the sidebar → copy your user ID (looks like pg-...) — you'll need it for config.
3. Install the extension
Via git:
pi install git:github.com/k3-2o/pi-composio.git
Via npm:
pi install npm:@k3_2o/pi-composio
4. Create your config
Drop your key and user ID in the home directory config path:
mkdir -p ~/.config/pi-composio
echo '{"apiKey": "ak_...", "userId": "pg-..."}' > ~/.config/pi-composio/config.json
Config is read from ~/.config/pi-composio/config.json first, then ~/.pi-composio.json, then the extension directory — so your credentials survive any pi update.
The user ID links your session to the apps you connected on the dashboard — without it, pi-composio won't find your connected accounts.
License
MIT