@touchtechclub/pi-oc-web-tools

extensionmaintained

Pi coding-agent extension: web fetch and web search tools with MCP transport. Opencode-inspired.

by · v0.2.1 · published 4w ago

$ pi install npm:@touchtechclub/pi-oc-web-tools
downloads/mo
117
stars
2
last push
6d ago
open issues
0

Signals

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

Download trend

644 downloads · last 12 weeks (weekly)

README

@touchtechclub/pi-oc-web-tools

Opencode-inspired Pi extension providing web fetch and web search tools with MCP transport.

Features

  • webfetch — Fetch and convert web page content to markdown, plain text, or raw HTML
  • websearch — Search the web using MCP-based providers (Exa, Parallel)
  • MCP JSON-RPC transport — Low-level SSE/JSON response parsing for search providers
  • Turndown integration — HTML to Markdown conversion for readable output
  • Redirect handling — Automatic retry on Cloudflare bot-detection challenges

Install

Local linking (development)

# In pi-toolkit root:
bun install

Then add to .pi/settings.json:

{
  "packages": ["../packages/oc-web-tools"]
}

From npm

pi extension add @touchtechclub/pi-oc-web-tools

Configuration

VariableDescription
EXA_API_KEYExa search API key (appended to MCP URL)
PARALLEL_API_KEYParallel search API key (Bearer auth)
OC_WEBSEARCH_PROVIDEROverride provider: exa or parallel

If neither API key is set, Exa's public tier is used as fallback.

Tools

webfetch

Fetches a URL and returns content in the specified format.

ParameterTypeDescription
urlstringURL to fetch (must start with http:// or https://)
format"markdown" | "text" | "html"Output format (default: markdown)
timeoutnumber?Timeout in seconds (max 120, default 30)

websearch

Searches the web via MCP-based search providers.

ParameterTypeDescription
querystringSearch query
numResultsnumber?Results to return (default: 8)
livecrawl"fallback" | "preferred"?Live crawl mode
type"auto" | "fast" | "deep"?Search type
contextMaxCharactersnumber?Max chars for context string

License

MIT