The purpose of skill/ is simple:
- teach
Codexhow to install and useMySearch - let
Claude Codefollow a repo link and still install the MCP correctly
This is not the standalone MCP implementation directory.
Think of it as the human and AI readable install-and-use guide:
README_EN.md- explains how to install
- explains how to verify
SKILL.md- explains how to use MySearch after installation
Send this to Codex or Claude Code:
Open skill/README_EN.md and skill/SKILL.md from this repository, install MySearch for me, run install.sh from the repo root if the MCP is not registered yet, then run the health check and smoke tests and tell me the result.
If you only want to share the GitHub link, you can also say:
Please read https://github.com/skernelx/MySearch-Proxy/tree/main/skill and automatically install and verify MySearch for me.
If you already have a deployed MySearch streamableHTTP endpoint, you can also
send this:
Register this MySearch MCP URL in Codex and verify it for me: http://127.0.0.1:8000/mcp. If auth is required, use the MYSEARCH_MCP_BEARER_TOKEN environment variable.
If the user gives you any of these:
- the repository URL
- the
skill/directory URL - a local
skill/path
default to using this folder as the MySearch onboarding entry point.
If the current environment is Codex, run:
bash skill/scripts/install_codex_skill.shIf the destination already exists and needs replacement:
bash skill/scripts/install_codex_skill.sh --forceAfter installation, remind the user to:
- restart
Codex
If the user gave you the source repository, follow the local install path:
From the repository root:
python3 -m venv venvIf the config file is not prepared yet:
cp mysearch/.env.example mysearch/.envThen fill the environment for the current deployment:
MYSEARCH_TAVILY_*MYSEARCH_FIRECRAWL_*- optional
MYSEARCH_XAI_*
Then run:
./install.shNotes:
skill/teaches the assistant how to use MySearch- the root
install.shregisters themysearchMCP forCodex/Claude Code - both parts matter
If the user gives you a deployed MySearch streamableHTTP URL instead of the
source repository, treat it as a remote MCP and do not ask the user to run
./install.sh locally:
codex mcp add mysearch --url http://127.0.0.1:8000/mcp
codex mcp get mysearchIf the endpoint requires bearer auth:
export MYSEARCH_MCP_BEARER_TOKEN=your-token
codex mcp add mysearch \
--url https://mysearch.example.com/mcp \
--bearer-token-env-var MYSEARCH_MCP_BEARER_TOKEN
codex mcp get mysearchKeep the paths separate:
- local repository install =
stdio - remote URL attach =
streamableHTTP - the
openclaw/bundle does not depend on this remote MCP URL
The default recommendation is not to hand-fill every official provider key. The recommended setup is:
- use skernelx/tavily-key-generator as the Tavily / Firecrawl provider layer or aggregation API
- let MySearch connect to that normalized layer
Why this is better:
- better for public projects
- better for team reuse
- better for AI-driven installation flows
Use this order:
codex mcp list
codex mcp get mysearch
python skill/scripts/check_mysearch.py --health-only
python skill/scripts/check_mysearch.py --web-query "OpenAI latest announcements"
python skill/scripts/check_mysearch.py --docs-query "OpenAI Responses API docs"If X / Social is configured, add:
python skill/scripts/check_mysearch.py --social-query "Model Context Protocol"If you want to test extraction too:
python skill/scripts/check_mysearch.py \
--extract-url "https://www.anthropic.com/news/model-context-protocol"This folder currently provides:
- a local skill installer for
Codex - shared usage and installation instructions for both
CodexandClaude Code
That means:
Codexcan install the local skill directlyClaude Codecan still read thisREADME_EN.mdandSKILL.md, install the MCP, verify it, and then follow the same usage rules
After installation, do not fall back to generic web search by default.
Preferred order:
- check
mysearch_health - start from
search - use
extract_urlwhen page content is needed - use
researchwhen a lightweight research pack is needed - only fall back to other search tools if MySearch is unavailable or the user explicitly asks for another source
For the full behavior rules, see:
- Repository overview: ../README_EN.md
- MCP docs: ../mysearch/README_EN.md
- Proxy console: ../proxy/README_EN.md