@open-neko/plugin-parallel-search
v0.3.1
Published
Web search action for OpenNeko via Parallel.ai's search API. Runs in a microsandbox VM with network egress limited to api.parallel.ai.
Downloads
475
Readme
@open-neko/plugin-parallel-search
Web search + page fetch for OpenNeko, backed by Parallel.ai's Search MCP.
The plugin connects to https://search.parallel.ai/mcp over Streamable HTTP and exposes two action kinds.
Install
# From the official OpenNeko marketplace (verified integrity hash):
openneko install @open-neko/plugin-parallel-search
# Or, bypassing every marketplace (e.g. while testing a local build):
openneko install @open-neko/plugin-parallel-search --unverifiedThe anonymous tier works without any API key — try it first. To use the authenticated tier (higher rate limits), set your key in either:
- the manifest
env:"env": { "PARALLEL_API_KEY": "..." }(env-injection ships in v2) - the per-call payload:
payload.api_key(works today; key is stored inaction_request.payload)
Actions
web_search
| Field | Value |
|---|---|
| Scope | external |
| Payload | { query: string, api_key?: string, mcp_url?: string } |
| Result | { text: string, bytes: number } — concatenated text content from the MCP tool's content[] blocks (~25 KB cap upstream) |
mcp_url defaults to https://search.parallel.ai/mcp. Override to https://search.parallel.ai/mcp-oauth if your operator policy requires OAuth.
web_fetch
| Field | Value |
|---|---|
| Scope | external |
| Payload | { url: string, api_key?: string, mcp_url?: string } |
| Result | { text: string, bytes: number } — markdown for the URL, token-efficient per upstream docs |
Capabilities (manifest)
network:
- search.parallel.aiThe OpenNeko loader translates this declaration into the plugin VM's network policy. Any attempt by the plugin to reach a different host is blocked at the VM boundary.
Local development
pnpm install
pnpm test
pnpm build # → dist/run.js (bundled, ~980 KB; bundles @modelcontextprotocol/sdk)
node dist/run.js register '{}'License
Apache-2.0
