Single-tool MCPorter bridge extension for pi and Model Context Protocol (MCP) servers.
{
"mcpServers": {
"pi-mcporter": {
"args": [
"-y",
"mcporter"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Use MCP tools from pi through one stable tool (mcporter), powered by MCPorter.
Is it safe?
No known CVEs for mcporter.
No authentication — any process on your machine can connect.
MIT. View license →
Is it maintained?
Last commit 5 days ago. 14 stars.
Will it work with my client?
Transport: stdio, http. Works with Claude Desktop, Cursor, Claude Code, and most MCP clients.
Context cost
1 tool. ~300 tokens (0.1% of 200K).
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'mcporter' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
No known vulnerabilities.
mcporterUnified tool to search, describe, and call MCP tools from MCPorter servers
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Dynamic problem-solving through sequential thought chains
A Model Context Protocol server for searching and analyzing arXiv papers
An open-source AI agent that brings the power of Gemini directly into your terminal.
The official Python SDK for Model Context Protocol servers and clients
MCP Security Weekly
Get CVE alerts and security updates for Pi Mcporter and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Use MCP tools from pi through one stable tool (mcporter), powered by MCPorter.
gh, git, kubectl, aws, etc.).mcporter when it adds clear value (for example: Linear, Slack, hosted auth-heavy integrations, cross-tool workflows).mcporter tool instead of exposing many MCP toolssearch), schema help (describe), and execution (call)You need MCPorter installed and configured with at least one MCP server:
npm install -g mcporter
npx mcporter list # verify your servers are visible
Install as a pi package:
pi install npm:pi-mcporter
Try it once without installing:
pi -e npm:pi-mcporter
npx mcporter list
pi
What are my open Linear issues this sprint?Catch me up on #engineering in Slack from today.Find the onboarding runbook in Notion and summarize the setup steps.The mcporter tool has three actions that map to a natural discovery → execution workflow.
search — find tools by keywordUse when you don't know the exact server or tool name.
{ "action": "search", "query": "linear issue", "limit": 5 }
Returns matching selectors with short descriptions:
linear.create_issue — Create a new issue in a Linear team
linear.list_issues — List issues matching a filter
describe — get the full schema for a toolUse when you know the selector but need to see its required parameters before calling.
{ "action": "describe", "selector": "linear.create_issue" }
Returns the full JSON Schema for the tool's input, including required vs. optional fields and their types.
call — invoke a toolUse once you know the selector and its schema.
{
"action": "call",
"selector": "linear.create_issue",
"args": { "title": "Fix login bug", "teamId": "TEAM-1", "priority": 2 }
}
For arguments that are awkward to express as nested JSON, you can pass them as a JSON string via argsJson instead of args.
search "linear issue" → discover: linear.create_issue
describe linear.create_issue → learn required fields: title, teamId
call linear.create_issue → execute with those fields
In practice pi follows this pattern automatically. With mode: "preload" the catalog is already warm at agent start, so pi can often skip search/describe and jump straight to call.
Tool name: mcporter
action: "search" | "describe" | "call"selector?: "server.tool" (required for describe and call)query?: free-text query for searchlimit?: result limit (default 20, max 100)args?: object arguments for callargsJson?: JSON-object-string fallback for calltimeoutMs?: per-call timeout overrideConfigure the extension in ~/.pi/agent/mcporter.json:
{
"configPath": "/absolute/path/to/mcporter.json",
"timeoutMs": 30000,
"mode": "lazy"
}
MCPORTER_CONFIG=/absolute/path/to/mcporter.json still overrides configPath from the settings file.configPath: optional explicit MCPorter config path. If omitted, MCPorter uses its normal default resolution.