MCP server or CLI: which should you use for Enrich Layer? Both are thin wrappers over the same API: they return the same fields, draw down the same credit balance, and respect the same rate limits, so neither one reaches data the other cannot.
The difference between them is the caller. A language model calls the MCP server, and a shell calls the CLI. So pick by how you're making the call: either from an agent, from your terminal, or from your own application code.
What each one is
The MCP server speaks the Model Context Protocol, the standard that lets a language model discover and call tools on its own. You run it with one command, npx -y @enrichlayer/mcp-server, and point Claude, Cursor, or VS Code at it. The model then has 25 enrichment tools it can call mid-conversation. When an agent decides it needs a work email or a company's headcount, it invokes the tool by name and adds the result straight into its next step. You never write the call yourself.
The CLI is enrichlayer-cli, installed globally with npm install -g enrichlayer-cli and invoked as el. Every command maps to an API endpoint and returns structured JSON to your terminal. It's built for the places a shell already lives: ad-hoc lookups, scripts, cron jobs, and CI pipelines. Output pipes cleanly into jq, into a file, or into the next command in a chain, which is what makes it scriptable.
Both authenticate with the same API key. Neither adds anything to your bill beyond the underlying request.
The use-case matrix
| Use case |
|---|
