skill: mcporter examples use key="value" quoting that breaks non-interactive calls (quotes become part of the value)
Environment
- agent-reach 1.5.0 (pipx install, Windows 11, Python 3.12)
- mcporter latest (npm global)
Problem
All mcporter examples in the skill docs (SKILL.md + references) use the key="value" form:
mcporter call linkedin.get_person_profile linkedin_username="username" sections="experience,education"
mcporter's key=value parser does not strip inner quotes — the quotes become part of the value:
linkedin.get_person_profile linkedin_username="williamhgates"→That is not a LinkedIn public identifier. Pass the part after /in/ ...(validation fails)linkedin.search_people keywords="AI engineer"→ the actual search term becomes"AI engineer"(with quotes), skewing results
In an interactive bash shell these examples happen to work, because bash strips the outer quotes first and mcporter receives a bare value. But programmatic invocations from agents (eval kernels, subprocess spawns, non-POSIX shells, PowerShell) pass the inner quotes through to mcporter, so the call fails outright or silently returns wrong results. The same command "works in a terminal, fails for the agent", which makes agents misdiagnose the channel as broken.
Minimal repro (same command, only quoting differs)
$ mcporter call linkedin.get_person_profile linkedin_username=williamhgates --timeout 90000
{ "url": "https://www.linkedin.com/in/williamhgates/", ... } # ✅
$ mcporter call linkedin.get_person_profile 'linkedin_username="williamhgates"' --timeout 90000
That is not a LinkedIn public identifier. Pass the part after /in/ in a profile URL, for example "williamhgates". # ❌
mcporter --help confirms the supported argument forms: key=value / key:value / --args <json>.
Affected examples on main (key="value" form)
agent_reach/skill/SKILL.md— Exa quick commandquery="query"agent_reach/skill/references/career.md— 4 LinkedIn callsagent_reach/skill/references/search.md— 2 Exa callsagent_reach/skill/references/social.md— 3 xiaohongshu-mcp calls (keyword="query",feed_id="..." xsec_token="...")agent_reach/skill/references/web.md— 3 web-reader calls
Note that mcporter call exa.web_search_exa query="query" numResults=5 silently searches for the literal string "query" (quotes included) — no error, just degraded results, which makes it even harder to notice.
Suggested fix
- Update all examples to
key=value(when the value contains spaces, quote the whole token:"key=multi word value"), or recommend the--args '{"key":"value"}'JSON form; - Optionally add an explicit one-line warning near mcporter examples (quotes become part of the value).
I have a docs-only fix ready and will submit a PR — happy to adjust direction if you prefer another approach.
Source: Panniantong/Agent-Reach