@feniix/pi-ref-tools

extensionmaintained

Ref.tools MCP extension for pi — documentation search and URL reading via Ref's Model Context Protocol

by · v3.0.2 · published 3w ago

$ pi install npm:@feniix/pi-ref-tools
downloads/mo
180
stars
20
last push
1d ago
open issues
8

Signals

license: MITtestspi manifest: missinginstall size: —deps: 0peer deps: 0

Download trend

No downloads in the last 12 weeks.

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.json for non-secret defaults only. Keep REF_API_KEY in an environment variable, or use --ref-mcp-config-file / REF_MCP_CONFIG_FILE to point to a custom private JSON config file when you need to persist secrets outside your project. Legacy aliases --ref-mcp-config and REF_MCP_CONFIG are still accepted but deprecated.

Option 3: CLI Flags

pi --ref-mcp-api-key=your_key

Config Resolution Order

  1. --ref-mcp-config-file flag path
  2. REF_MCP_CONFIG_FILE environment variable
  3. legacy --ref-mcp-config flag path (deprecated)
  4. legacy REF_MCP_CONFIG environment variable (deprecated)
  5. .pi/settings.json under pi-ref-tools (project-level)
  6. ~/.pi/agent/settings.json under pi-ref-tools (global)

Tools

ref_search_documentation

Search indexed technical documentation. Best for API docs, library references, and framework guides.

ParameterTypeRequiredDescription
querystringyesSearch query. Include language/framework names for best results.
piMaxBytesintegernoClient-side max bytes override (clamped by config).
piMaxLinesintegernoClient-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.

ParameterTypeRequiredDescription
urlstringyesThe exact URL of the documentation page to read.
piMaxBytesintegernoClient-side max bytes override (clamped by config).
piMaxLinesintegernoClient-side max lines override (clamped by config).

CLI Flags

FlagEnv VariableDefaultDescription
--ref-mcp-urlREF_MCP_URLhttps://api.ref.tools/mcpMCP endpoint URL
--ref-mcp-api-keyREF_API_KEYAPI key (sent as x-ref-api-key header)
--ref-mcp-timeout-msREF_MCP_TIMEOUT_MS30000HTTP timeout in ms
--ref-mcp-protocolREF_MCP_PROTOCOL_VERSION2025-06-18MCP protocol version
--ref-mcp-config-fileREF_MCP_CONFIG_FILECustom config file path
--ref-mcp-configREF_MCP_CONFIGDeprecated alias for the config file path
--ref-mcp-max-bytesREF_MCP_MAX_BYTES51200Max output bytes
--ref-mcp-max-linesREF_MCP_MAX_LINES2000Max 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

Uninstall

pi remove npm:@feniix/pi-ref-tools

License

MIT