- Documentation tools
- Connect the ezeep MCP (OAuth, recommended)
- Alternative: static refresh token
- What the MCP can do beyond documentation
- Troubleshooting
- Reference
ezeep MCP Server
The ezeep MCP server is a Model Context Protocol server that lets an AI assistant (Claude Desktop, Claude Code, GitHub Copilot, Cursor, and other MCP-aware clients) talk to the ezeep API on your behalf. Connecting it does not require you to implement an OAuth flow yourself. The MCP client handles authorization.
Documentation tools
Once the MCP is connected, three tools work without credentials and help you understand the ezeep API:
| Tool | What you can ask |
|---|---|
get_integration_guide |
“Walk me through the shortest end-to-end path from zero to a printed page.” |
get_api_reference |
“Which endpoint do I call to list a user’s printers, and what are the required parameters?” |
get_code_example |
“Give me a curl example for uploading a document and printing it.” |
You do not need an ezeep account to use these three tools; they document the API. Only the ezeep-API-backed tools (list printers, upload document, print, register OAuth client, and so on) require authentication, and the MCP client negotiates that for you the first time you use one.
Connect the ezeep MCP (OAuth, recommended)
The recommended /mcp endpoint uses OAuth 2.1 with PKCE. You don’t put credentials in a config file: the client opens a browser for you to sign in to ezeep, obtains its own tokens, and rotates them. Copy the snippet for your client below.
Claude Desktop
Add the ezeep server as a custom connector:
- Go to Customize → Connectors.
- Click + Add and choose Add custom connector.
- Enter:
-
Name:
ezeep -
URL:
https://mcp.ezeep.com/mcp
-
Name:
- Click Continue, complete the authentication settings, and click Add. Claude Desktop opens a browser window for you to sign in to ezeep on first use.
On Team and Enterprise plans, only Owners can add custom connectors, under Organization settings → Connectors. Members then click Connect on the ezeep connector.
Claude Code (CLI)
claude mcp add --transport http ezeep https://mcp.ezeep.com/mcp
This adds the server to the current project only. Add --scope user to make it available in all projects. To sign in, run /mcp in Claude Code (or claude mcp login ezeep). Until you sign in, claude mcp list shows that the server needs authentication.
GitHub Copilot (VS Code)
VS Code has a guided dialog for registering remote MCP servers:
- Open the Command Palette (
Ctrl+Shift+P/Cmd+Shift+P) and run MCP: Add Server. - Choose HTTP as the transport.
- Enter the server URL:
https://mcp.ezeep.com/mcp - Enter a server ID:
ezeep - Pick where to save it. The guided flow saves to Copilot Global (
~/.copilot/mcp-config.json), which is available in every workspace. To share the server with teammates, use the workspace file.vscode/mcp.jsoninstead. A.mcp.jsonfile at the repo root is only offered when the experimental settingchat.mcp.workspaceRootConfig.enabledis on.
VS Code picks the server up immediately; no reload. On first use, Copilot opens a browser window for you to sign in to ezeep.
See the official VS Code reference: Use MCP servers in VS Code.
Cursor
Add the ezeep entry to the global config file ~/.cursor/mcp.json, or to .cursor/mcp.json inside a project directory for project-scoped configuration:
{
"mcpServers": {
"ezeep": {
"url": "https://mcp.ezeep.com/mcp"
}
}
}
Cursor shows the server in the MCP list once saved and opens a browser window for the ezeep sign-in the first time you invoke a tool.
You can also open the config file from the Cursor UI with + Add Custom MCP. The menu path varies between Cursor releases (Customize in the sidebar; older builds: Cursor Settings → Tools & Integrations, Tools & MCP, or Features → MCP).
See the official Cursor reference: Model Context Protocol.
Alternative: static refresh token
If your MCP client does not yet implement the MCP OAuth flow, the server also accepts a static refresh token via HTTP headers (X-Refresh-Token, and optionally X-Client-ID if you are using your own registered client instead of the sandbox client). Refresh tokens from the API Token Generator work without X-Client-ID because they are issued for the sandbox client. This path is intended only for testing.
Limitations:
- Clients created through the API rotate refresh tokens by default (see Managing OAuth clients), so a static refresh token for such a client stops working after its first exchange.
- Tokens from the API Token Generator carry only the
printingscope. Tools that need theaccountsscope, such asregister_oauth_client, don’t work on this path.
Claude Code, GitHub Copilot (VS Code) and Cursor can send the header directly: Claude Code with --header on claude mcp add, VS Code and Cursor with a headers entry in the server configuration. Claude’s custom connector has a Request headers field. For example, in Claude Code:
claude mcp add --transport http ezeep https://mcp.ezeep.com/mcp --header "X-Refresh-Token: <refresh_token>"
If a client can’t send headers, use the mcp-remote npm helper as a fallback. Example for Claude Desktop:
{
"mcpServers": {
"ezeep": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.ezeep.com/mcp",
"--header", "X-Refresh-Token:${EZEEP_REFRESH_TOKEN}"
],
"env": {
"EZEEP_REFRESH_TOKEN": "<refresh token from the API Token Generator>"
}
}
}
}
In other clients, wrap the same mcp-remote command in the client’s config-file format.
What the MCP can do beyond documentation
Once authenticated, the MCP can list printers, upload documents, submit print jobs, retrieve job status, and, for organization administrators, register a new OAuth Client ID for your production application via a conversational prompt.
Troubleshooting
Claude: allowed network egress
If network egress is restricted in Claude (Settings → Capabilities; for organizations, admins set it under Organization settings → Capabilities) and only mcp.ezeep.com is allowed, the connector authenticates and most tools work, but file uploads fail. To print a document, the MCP asks the ezeep API for a short-lived SAS URI, and the client then uploads the file bytes directly to Azure Blob Storage. Add both hosts under Additional allowed domains:
mcp.ezeep.com*.blob.core.windows.net
Every ezeep client that uploads files needs access to *.blob.core.windows.net, because ezeep’s upload API returns pre-signed Azure Blob Storage URLs.
Reference
- Production endpoint:
https://mcp.ezeep.com/mcp - For advanced configuration questions (multi-tenant setups, self-hosting, custom clients), contact the ezeep Integration Team via the API Contact Form.