mcpx

mcp
Guvenlik Denetimi
Basarisiz
Health Gecti
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 20 GitHub stars
Code Basarisiz
  • exec() — Shell command execution in scripts/build.sh
  • process.env — Environment variable access in scripts/build.sh
  • network request — Outbound network request in src/auth-discovery.ts
  • process.env — Environment variable access in src/headers.ts
Permissions Gecti
  • Permissions — No dangerous permissions requested
Purpose

This tool is a command-line client designed to connect AI agents to remote MCP servers. It acts as a bridge, allowing you to register servers, manage OAuth authentication, and execute tools seamlessly through a unified schema.

Security Assessment

The tool handles sensitive data, specifically managing OAuth tokens and client secrets, which it stores locally in the user's home directory. The codebase makes outbound network requests to connect to remote servers and manage authentication. It also accesses environment variables. While the tool itself does not request explicitly dangerous permissions, the installation method (`curl | bash`) and a shell command execution within the build script require careful review. Because it facilitates dynamic communication with external servers and manages credentials locally, the overall risk is rated as Medium.

Quality Assessment

The project appears active and well-maintained, with recent updates (last pushed 0 days ago) and a clear MIT license. Community trust is still in its early stages, indicated by a modest 20 GitHub stars. The documentation is comprehensive and clearly explains its "Bun-only" requirements and intended use cases.

Verdict

Use with caution: while actively maintained, users should review the installation script and be mindful of local credential storage before integrating.
SUMMARY

Token-efficient MCP client: TypeScript schemas instead of JSON, LLM-friendly syntax, batch calls, TOON output. Built for Claude/GPT automations.

README.md

MCPX

MCPX is a Bun-only command line tool that turns remote MCP servers into an
agent-friendly command surface.

It keeps MCP server registrations in a global user registry, discovers tool
schemas, handles OAuth where possible, and exposes each MCP server as a root
command:

mcpx posthog projects-get --input '{}'
mcpx sentry search-issues --input '{"query":"is:unresolved"}'

MCPX is designed for agents. The command surface is intentionally schema-first,
stable, and explicit: tool calls pass input through --input, while MCPX's own
control commands live under the @ namespace.

Requirements

  • Bun
  • macOS, Linux, or any environment that can run Bun executables

Install

Install the latest release:

curl -fsSL https://raw.githubusercontent.com/AIGC-Hackers/mcpx/main/install.sh | bash

By default, the installer downloads the executable JS bundle from GitHub Releases
and installs it to ~/.local/bin/mcpx.

Set MCPX_INSTALL_DIR to choose another install directory.

Add MCP Servers

Register a remote MCP server globally:

mcpx @add --name posthog --url https://mcp.posthog.com/mcp
mcpx @add --name sentry --url https://mcp.sentry.dev/mcp
mcpx @add --name cf-docs --url https://docs.mcp.cloudflare.com/mcp
mcpx @add --name cf-bindings --url https://bindings.mcp.cloudflare.com/mcp
mcpx @add --name cf-observability --url https://observability.mcp.cloudflare.com/mcp

MCPX stores server configuration in:

~/.agents/mcpx/servers.json

OAuth tokens and client secrets are stored separately in the global token cache:

~/.agents/mcpx/tokens.json

Project directories do not need MCP config files. A project should decide which
global servers are relevant by using schema selectors or a generated skill.

Call Tools

Call tools through the server command:

mcpx <server> <tool> --input '<json-or-json5>'

Examples:

mcpx posthog projects-get --input '{}'
mcpx sentry whoami --input '{}'
mcpx cf-graphql graphql_query --input '{ query: "query { viewer { accounts { name } } }" }'

--input is the primary input path. It accepts argc input values, including JSON,
JSON5, stdin, and @file inputs.

Discover Schemas

Print the command schema for agents:

mcpx --schema

Focus on one server:

mcpx --schema=.posthog

Focus on a set of servers:

mcpx --schema='.{posthog,sentry}'

Focus on an internal MCPX command:

mcpx --schema='.["@add"]'

Control Commands

MCPX control commands use the @ namespace so they do not collide with server
names:

mcpx @add --name <server> --url <mcp-url>
mcpx @remove --name <server>
mcpx @skill

Server names cannot start with @.

Authentication

When @add detects OAuth, MCPX tries to complete authentication immediately.
For OAuth servers that support dynamic client registration, MCPX registers a
client automatically.

For OAuth servers that do not support dynamic client registration, such as
Slack, MCPX prompts for a manual client_id and client_secret. These providers
usually require a preconfigured redirect URL. MCPX uses:

http://127.0.0.1:65245/callback

Add and save that exact Redirect URL in the provider app settings before
continuing the prompt.

When an OAuth token is close to expiry, MCPX refreshes it before calling the MCP
tool and then continues the original command.

Output

MCPX optimizes output for humans and agents by default:

  • text MCP content is printed directly
  • JSON text content is rendered as TOON
  • non-text content is saved to a temporary file and printed as file saved <path>

Use --raw to preserve raw server text output:

mcpx posthog projects-get --raw --input '{}'

Project Skills

Generate a project-local skill that tells agents which global MCP servers to use:

mcpx @skill --server posthog --server sentry

This writes:

.agents/skills/mcpx/SKILL.md

The generated skill instructs agents to discover tools with focused schema
selectors and call MCP tools through MCPX.

License

MIT

Yorumlar (0)

Sonuc bulunamadi