MCP Servers
Vaxtly includes a built-in MCP (Model Context Protocol) inspector for testing and debugging MCP servers. You can connect to servers using stdio, Streamable HTTP, or legacy SSE transports, then explore their tools, resources, and prompts — all without leaving the app.
Adding a Server
- Switch to MCP mode using the mode selector dropdown in the sidebar header or the plug icon in the sidebar footer
- Click the + button in the sidebar header
- A new server is created — click it to open the configuration form
Configuring a Server
Each server needs a name and a transport configuration:
stdio (Local Process)
Runs a local command as a child process and communicates via stdin/stdout.
| Field | Description |
|---|---|
| Command | The executable to run (e.g., npx, node, python) |
| Arguments | Space-separated arguments (e.g., -y @modelcontextprotocol/server-everything) |
| Environment Variables | Key-value pairs passed to the process |
| Working Directory | Optional working directory for the process |
Streamable HTTP
Connects to an HTTP endpoint that supports the MCP Streamable HTTP transport.
| Field | Description |
|---|---|
| URL | The server endpoint (e.g., http://localhost:3000/mcp) |
| Headers | Optional HTTP headers (e.g., for authentication) |
SSE (Legacy)
Connects to a Server-Sent Events endpoint (older MCP transport).
| Field | Description |
|---|---|
| URL | The SSE endpoint URL |
| Headers | Optional HTTP headers |
Connecting and Disconnecting
- Click Connect in the inspector header to establish a connection
- The status dot in the sidebar shows the connection state:
- Green — connected
- Yellow — connecting
- Red — error
- Gray — disconnected
- Click Disconnect to close the connection
- You can also right-click a server in the sidebar for Connect/Disconnect options
NOTE
MCP connections are not restored on app restart. You need to reconnect manually after restarting Vaxtly.
Exploring Server Capabilities
Once connected, the inspector uses a split-panel layout — input and interaction on the left, server responses on the right. You can drag the divider between the panels to resize them.
Left Panel
The left panel has three tabs:
Tools
Lists all tools the server exposes. Each tool shows its name, description, and input schema.
To call a tool:
- Click a tool to expand it
- Fill in the arguments using the auto-generated form (built from the tool's JSON Schema)
- Click Call Tool
- The result appears in the Response tab on the right panel
Resources
Lists static resources and resource templates the server provides.
- Click a resource to expand it, then click Read Resource to fetch its content
- The result appears in the Response tab on the right panel
- Resource templates show their URI pattern
Prompts
Lists prompt templates with their argument definitions.
- Click a prompt to expand it, then fill in any required arguments
- Click Get Prompt to fetch the prompt
- The result appears in the Response tab on the right panel
Right Panel
The right panel has three tabs:
Response
Displays the result of the last tool call, resource read, or prompt get. The inspector automatically switches to this tab when a result arrives.
- Tool results show the content blocks returned by the tool (text, images, or embedded resources)
- Resource results show the resource contents (text or binary)
- Prompt results show the prompt messages with their roles and content
Traffic
A live log of all JSON-RPC messages between Vaxtly and the server.
- Each entry shows direction (outgoing/incoming), method name, and timestamp
- Click an entry to expand and see the full params/result/error JSON
- Use Clear to reset the log
Notifications
Shows server-initiated notifications (e.g., when the server's tool or resource list changes).
- Each entry shows the notification method and timestamp
- Click to expand and see the full notification params
Variable Substitution
MCP server configuration fields support {{variable}} references, just like requests. Variables are resolved at connect time using the active environment.
Supported fields:
| Transport | Fields with variable support |
|---|---|
| stdio | Command, Arguments, Environment Variable values, Working Directory |
| HTTP / SSE | URL, Header values |
Variable names in key-value pairs (environment variable names, header names) are not substituted — only values.
Variables are highlighted inline in the configuration form: green for resolved variables, red for unresolved ones. Hover to see the resolved value and source.
TIP
Use environment variables for sensitive values like API keys in MCP server env vars or headers. For example, set an environment variable API_KEY: "{{my_api_key}}" instead of hardcoding the value.
Git Sync
MCP server configurations can be synced to the same Git remote as your collections. This requires Remote Sync to be configured first.
Enabling Sync
Right-click a server in the sidebar and select Enable Sync. The server is immediately pushed to the remote. A sync icon appears next to servers that have sync enabled.
How It Works
- Auto-push on save — when you save changes to a sync-enabled server, it's automatically pushed to the remote
- Auto-pull on startup — if Auto Sync is enabled in Settings → Remote Sync, MCP servers are pulled along with collections on app launch
- Manual pull — clicking Pull in Settings → Remote Sync pulls both collections and MCP servers
- Pull single server — right-click → Pull from Remote overwrites the local config with the remote version
- Push All — pushes all sync-enabled collections and MCP servers at once
Sensitive Data Scanning
Before pushing, Vaxtly scans MCP server env var values and header values for potentially sensitive data (API keys, tokens, secrets, etc.). The same scanning and sanitization options available for collections apply to MCP servers — see Sensitive Data Scanning.
TIP
Use {{variable}} references in your MCP server env vars and headers. Variable references are not flagged by the sensitive data scanner.
File Format
MCP servers are stored in a mcp-servers/ directory on the remote alongside collections/:
mcp-servers/
_manifest.yaml # Server ordering
{server-id}.yaml # One file per serverDisabling Sync
Right-click a server and select Disable Sync. The server remains locally but is no longer pushed on save.
Context Menu
Right-click any server in the sidebar for quick actions:
- Connect / Disconnect — manage the connection
- Edit — open the server configuration
- Enable Sync / Disable Sync — toggle Git sync for this server
- Push to Remote — manually push this server to the remote
- Pull from Remote — overwrite local config with the remote version
- Export — download this server's configuration as a JSON file (can be re-imported via Settings → Data)
- Delete — remove the server (also deletes from remote if synced)
Multiple Connections
You can connect to multiple MCP servers simultaneously. Each server maintains its own independent connection, traffic log, and notification history.
