@feniix/pi-ref-tools
Ref.tools MCP extension for pi — documentation search and URL reading via Ref's Model Context Protocol
Package details
Install @feniix/pi-ref-tools from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@feniix/pi-ref-tools- Package
@feniix/pi-ref-tools- Version
2.1.1- Published
- Apr 22, 2026
- Downloads
- 1,438/mo · 173/wk
- Author
- feniix
- License
- MIT
- Types
- extension
- Size
- 34.7 KB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"extensions": [
"./extensions/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@feniix/pi-ref-tools
Ref.tools MCP extension for pi — token-efficient documentation search and URL reading via Ref's Model Context Protocol.
Features
- Documentation Search (
ref_search_documentation): Search indexed technical documentation for APIs, libraries, and frameworks - URL Reading (
ref_read_url): Fetch and read documentation URLs as optimized markdown - Configurable Output Limits: Client-side byte and line truncation with adjustable maximums
- Flexible Configuration: JSON config files, environment variables, and CLI flags
- MCP Protocol Support: JSON-RPC 2.0 with server-sent events for response streaming
Install
pi install npm:@feniix/pi-ref-tools
Ephemeral (one-off) use:
pi -e npm:@feniix/pi-ref-tools
Configuration
You need a Ref API key from ref.tools/keys.
Option 1: Environment Variable
export REF_API_KEY="your_key"
Option 2: Settings File
Use pi's standard settings locations for non-secret configuration:
- project:
.pi/settings.json - global:
~/.pi/agent/settings.json
Under the pi-ref-tools key:
{
"pi-ref-tools": {
"url": "https://api.ref.tools/mcp",
"timeoutMs": 30000,
"protocolVersion": "2025-06-18",
"maxBytes": 51200,
"maxLines": 2000
}
}
Best practice: use
settings.jsonfor non-secret defaults only. KeepREF_API_KEYin an environment variable, or use--ref-mcp-config-file/REF_MCP_CONFIG_FILEto point to a custom private JSON config file when you need to persist secrets outside your project. Legacy aliases--ref-mcp-configandREF_MCP_CONFIGare still accepted but deprecated.
Option 3: CLI Flags
pi --ref-mcp-api-key=your_key
Config Resolution Order
--ref-mcp-config-fileflag pathREF_MCP_CONFIG_FILEenvironment variable- legacy
--ref-mcp-configflag path (deprecated) - legacy
REF_MCP_CONFIGenvironment variable (deprecated) .pi/settings.jsonunderpi-ref-tools(project-level)~/.pi/agent/settings.jsonunderpi-ref-tools(global)
Tools
ref_search_documentation
Search indexed technical documentation. Best for API docs, library references, and framework guides.
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | yes | Search query. Include language/framework names for best results. |
piMaxBytes |
integer | no | Client-side max bytes override (clamped by config). |
piMaxLines |
integer | no | Client-side max lines override (clamped by config). |
ref_read_url
Read a documentation URL and return optimized markdown. Pass the exact URL from a search result or any documentation page.
| Parameter | Type | Required | Description |
|---|---|---|---|
url |
string | yes | The exact URL of the documentation page to read. |
piMaxBytes |
integer | no | Client-side max bytes override (clamped by config). |
piMaxLines |
integer | no | Client-side max lines override (clamped by config). |
CLI Flags
| Flag | Env Variable | Default | Description |
|---|---|---|---|
--ref-mcp-url |
REF_MCP_URL |
https://api.ref.tools/mcp |
MCP endpoint URL |
--ref-mcp-api-key |
REF_API_KEY |
— | API key (sent as x-ref-api-key header) |
--ref-mcp-timeout-ms |
REF_MCP_TIMEOUT_MS |
30000 |
HTTP timeout in ms |
--ref-mcp-protocol |
REF_MCP_PROTOCOL_VERSION |
2025-06-18 |
MCP protocol version |
--ref-mcp-config-file |
REF_MCP_CONFIG_FILE |
— | Custom config file path |
--ref-mcp-config |
REF_MCP_CONFIG |
— | Deprecated alias for the config file path |
--ref-mcp-max-bytes |
REF_MCP_MAX_BYTES |
51200 |
Max output bytes |
--ref-mcp-max-lines |
REF_MCP_MAX_LINES |
2000 |
Max output lines |
Output Truncation
Default limits: 51,200 bytes, 2,000 lines. Per-call overrides via piMaxBytes/piMaxLines parameters are clamped to the configured maximums. Truncated content is saved to temporary files with paths included in responses.
Requirements
- pi v0.51.0 or later
- Ref API key from ref.tools/keys
Uninstall
pi remove npm:@feniix/pi-ref-tools
License
MIT