EZTexting MCP Server
Official@eztexting/mcp-server
mcp-name: com.eztexting/mcp
Stdio bridge to the EZTexting MCP service at https://mcp.eztexting.com. Use this only when your client doesn't speak Streamable HTTP MCP natively.
Prefer remote. Most modern MCP clients (Claude.ai, ChatGPT, Claude Desktop, Claude Code, Cursor 0.46+, VS Code 1.99+, Windsurf, Cline 3.0+) connect direct to
https://mcp.eztexting.com/mcp— no npm, no Node, no child process. See the onboarding guide for copy-paste configs.
Thin wrapper around mcp-remote targeting the unified /mcp endpoint. One stdio MCP entry, all 38 tools (some staticly loaded and others discoverable), one OAuth 2.1 PKCE dance. ~3k tokens of catalog (measured).
Remote (recommended)
Point your client at:
https://mcp.eztexting.com/mcpOAuth 2.1 PKCE auto-discovers via /.well-known/oauth-authorization-server. See https://mcp.eztexting.com/ for per-client snippets (Claude Desktop, Claude Code --transport http, Cursor, VS Code type: http, Windsurf, Cline).
Local stdio bridge — fallback
Add to claude_desktop_config.json (or equivalent — only if your client lacks remote MCP support):
{
"mcpServers": {
"eztexting": {
"command": "npx",
"args": ["-y", "@eztexting/mcp-server"]
}
}
}First run: browser opens to https://mcp.eztexting.com/oauth2/.... Sign in. Tokens persist to ~/.mcp-auth/mcp-remote-<version>/<hash>/. Subsequent launches skip the browser.
To force a fresh sign-in, delete that directory.
Sub-servers
The unified /mcp endpoint includes all of these. Use the per-sub-server form below only if you want narrow tool catalogs or separate Claude Code identities.
Sub-server | URL | Tools |
|
|
|
|
|
|
|
|
|
|
|
|
Tool names are exposed unprefixed; EZTexting's catalog has no cross-sub-server collisions.
Local bridge — per sub-server (advanced)
Pass --server <name> to scope to one sub-server. Each invocation runs its own mcp-remote child. Remote clients should just point at the sub-server URL directly (e.g., https://mcp.eztexting.com/mcp/messaging) — no flag needed.
{
"mcpServers": {
"eztexting-messaging": {
"command": "npx",
"args": ["-y", "@eztexting/mcp-server", "--server", "messaging"]
},
"eztexting-contacts": {
"command": "npx",
"args": ["-y", "@eztexting/mcp-server", "--server", "contacts"]
}
}
}Valid names: messaging, contacts, workflows, admin.
Build from source
git clone https://github.com/eztexting/mcp-server.git
cd mcp-server
npm install
npm run build
node dist/cli.js # unified /mcp endpoint
node dist/cli.js --server messaging # single sub-serverFiles written
mcp-remote owns the auth cache: ~/.mcp-auth/mcp-remote-<version>/<serverUrlHash>/{tokens.json,client_info.json}. One hash per distinct upstream URL.
Requirements
EZTexting account
Browser available on first connect (OAuth 2.1 PKCE)
Node.js 20+ — only if using the local stdio bridge (remote clients don't need it)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/eztexting/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server