paralel-search

SKILL.md

paralel-search

MCP skill for search-mcp. Provides 2 tools: web_search_preview, web_fetch

Authentication

This MCP server uses OAuth authentication. The OAuth flow is handled automatically by the MCP client. Tokens are persisted to ~/.mcp-skill/paralel-search/oauth-tokens/ so subsequent runs reuse the same credentials without re-authenticating.

app = ParallelsearchApp()  # uses default OAuth flow

To bring your own OAuth provider, pass it via the auth argument:

app = ParallelsearchApp(auth=my_oauth_provider)

Dependencies

This skill requires the following Python packages:

  • mcp-skill

Install with uv:

uv pip install mcp-skill

Or with pip:

pip install mcp-skill

How to Run

Important: Add .agents/skills to your Python path so imports resolve correctly:

import sys
sys.path.insert(0, ".agents/skills")
from paralel_search.app import ParallelsearchApp

Or set the PYTHONPATH environment variable:

export PYTHONPATH=".agents/skills:$PYTHONPATH"

Preferred: use uv run (handles dependencies automatically):

PYTHONPATH=.agents/skills uv run --with mcp-skill python -c "
import asyncio
from paralel_search.app import ParallelsearchApp

async def main():
    app = ParallelsearchApp()
    result = await app.web_search_preview(objective="example", search_queries="value")
    print(result)

asyncio.run(main())
"

Alternative: use python directly (install dependencies first):

pip install mcp-skill
PYTHONPATH=.agents/skills python -c "
import asyncio
from paralel_search.app import ParallelsearchApp

async def main():
    app = ParallelsearchApp()
    result = await app.web_search_preview(objective="example", search_queries="value")
    print(result)

asyncio.run(main())
"

Available Tools

web_search_preview

Purpose: Perform web searches and return results in an LLM-friendly format and with parameters tuned for LLMs.

Parameter Type Required Description
objective str Yes Natural-language description of what the web search is trying to find.
Try to make the search objective atomic, looking for a specific piece of information. May include guidance about preferred sources or freshness.
search_queries list[str] Yes (optional) List of keyword search queries of 1-6
words, which may include search operators. The search queries should be related to the
objective. Limited to 5 entries of 200 characters each.

Example:

result = await app.web_search_preview(objective="example", search_queries="value")

web_fetch

Purpose: Fetch and extract relevant content from specific web URLs.

Ideal Use Cases:

  • Extracting content from specific URLs you've already identified
  • Exploring URLs returned by a web search in greater depth
Parameter Type Required Description
urls list[str] Yes List of URLs to extract content from. Must be valid
HTTP/HTTPS URLs. Maximum 10 URLs per request.
objective `str None` No
information you're looking for from the URLs. Limit to 200 characters.

Example:

result = await app.web_fetch(urls="value", objective="example")
Weekly Installs
2
GitHub Stars
5
First Seen
6 days ago
Installed on
opencode2
amp1
cline1
cursor1
kimi-cli1
codex1