Connect EntityFeed to Claude Desktop, Cursor and VS Code
EntityFeed is a remote MCP server. Its address is https://entityfeed.com/mcp and it speaks Streamable HTTP. The initialize and tools/list requests work without a key. Every tool call needs a key, sent as Authorization: Bearer ef_YOUR_KEY. Get a free key on the home page.
Each client below has its own steps. They are not the same, so read only the section for your client. The steps follow the vendors' documentation as read on 5 November 2026. We have not run them in each client ourselves, and the vendors change their menus. If a menu differs, trust the vendor's page listed at the end.
What was tested
On 6 November 2026 we ran the official MCP TypeScript client against https://entityfeed.com/mcp with a real key: listing tools, get_company for SK and CZ, search_company, an unknown company, and a wrong key. All behaved as described here.
The Slovak register is slow. On that day its API took 7 to 33 seconds per request, so a first Slovak lookup can take that long or longer. Repeats come from the cache. Czech lookups answered in under a second in the same test. If your client has a short tool timeout, raise it.
Check the key first
This request does not use a tool call, so it does not use up a query. It returns your plan and your usage:
curl -H "Authorization: Bearer ef_YOUR_KEY" https://entityfeed.com/v1/usage
A valid key returns JSON with plan, period, used, limit and resets_at. A wrong key returns the 401 error described under Troubleshooting. Do this before you blame the client.
Claude Desktop
Claude Desktop has two places where an MCP server can be set up, and they do different things. The documentation describes them this way:
- Custom connectors add a remote server by its URL. This is the route for EntityFeed.
- The file
claude_desktop_config.jsonstarts local servers on your computer with acommand.
Route 1: custom connector with a request header (the route the documentation supports)
- Open Customize > Connectors. The MCP documentation calls the same page Settings > Connectors.
- Click Add custom connector. On some plans the button is Add, then Add custom connector.
- Enter a name, for example
entityfeed. - In MCP server URL enter https://entityfeed.com/mcp
- For Authentication choose No sign-in. The Claude documentation says to do this for a server that uses an API key, and to add the key under Request headers.
- Open Request headers. Choose the header name
authorizationfrom the list. - Enter the value
Bearer ef_YOUR_KEY. Write the word Bearer, a space, then your key. Claude sends the value exactly as typed and adds no prefix, so a value withoutBeareris rejected by EntityFeed. - Set the header to Required and click Add.
- To use it in a chat, click the + button, choose Connectors and turn the connector on for that conversation.
Limits stated in the documentation:
- Request headers are in beta and available to a limited set of organizations. If your Add custom connector dialog has no Request headers section, your organization does not have access, and this route does not work for you. Use route 2.
- You cannot change authentication settings after you add a connector. To change the key, remove the connector and add it again.
- On Team and Enterprise plans an Owner adds the connector, and members then connect from Customize > Connectors.
- Free plans can have one custom connector.
Route 2: local bridge with mcp-remote (third-party tool, not Anthropic documentation)
Use this only if route 1 is not available to you. The claude_desktop_config.json file is documented for local servers started with command and args. The documentation we read does not say that a url entry with headers works in that file, so do not write one. The open-source tool mcp-remote runs on your computer as a local server and forwards to a remote one. Its README shows the setup for Claude Desktop. It needs Node.js.
The config file is at:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
To open it, go to Settings > Developer and click Edit Config. The button creates the file if it does not exist. Put this in it, or add the entityfeed entry to an existing mcpServers object:
{
"mcpServers": {
"entityfeed": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://entityfeed.com/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer ef_YOUR_KEY"
}
}
}
}
The key sits in env and not in args because the mcp-remote README says that spaces inside args are not escaped in Claude Desktop on Windows, while spaces in env values are fine. Save the file, then quit Claude Desktop completely and start it again. A restart is required to load the file.
Confirm that it works
- Click the "Add files, connectors, and more" indicator in the bottom-left corner of the message box, hover over Connectors, and click Manage connectors. The entry should be in the list. For route 2 this is the same place the documentation uses to show local servers.
- Open the entry. The tools
search_companyandget_companyshould be listed. Listing works without a valid key, so this alone does not prove the key. - Ask Claude to search for a company by name in Slovakia or Czechia. Claude asks for approval before it calls the tool. A returned list of companies with a
sourceand aretrieved_aton each record proves the key works.
Logs for route 2
- macOS:
~/Library/Logs/Claude - Windows:
%APPDATA%\Claude\logs - Linux:
~/.config/Claude/logs
mcp.log has connection messages. mcp-server-entityfeed.log has the output of the bridge.
Cursor
Cursor reads remote servers from mcp.json. The documentation gives two locations:
- Project:
.cursor/mcp.jsonin your project folder, for that project only. - Global:
~/.cursor/mcp.jsonin your home directory, for every project.
The page gives the same ~/.cursor/mcp.json form for every system and no separate Windows path. ~ means your home directory. Put the key in the global file or in an environment variable, not in a project file that you commit.
Create the file, or add the entityfeed entry to an existing mcpServers object:
{
"mcpServers": {
"entityfeed": {
"url": "https://entityfeed.com/mcp",
"headers": {
"Authorization": "Bearer ef_YOUR_KEY"
}
}
}
}
To keep the key out of the file, use the variable syntax Cursor documents for headers. Cursor resolves ${env:NAME} in command, args, env, url and headers:
"headers": {
"Authorization": "Bearer ${env:ENTITYFEED_KEY}"
}
The variable has to exist in the environment of the Cursor process. The documentation recommends setting environment variables for remote servers in your shell profile or system environment. Start Cursor again after you set it.
Confirm that it works
- Manage servers from Customize in the sidebar, where the documentation says you can turn servers on and off.
entityfeedshould be listed and enabled. - The tools
search_companyandget_companyshould appear for the server. As with every client, listing works without a valid key. - Ask the agent to search for a company in Slovakia or Czechia and approve the tool call. Records with
sourceandretrieved_atmean the key works. - If it does not connect, open the Output panel (Cmd+Shift+U on macOS), choose MCP Logs from the dropdown and look for connection or authentication errors.
Cursor also offers OAuth sign-in for remote servers. EntityFeed does not use OAuth, so use the headers form above.
VS Code
VS Code uses a file named mcp.json with a top-level servers object. This differs from Claude Desktop and Cursor, which use mcpServers. The documentation warns against copying a file between the two formats without changing it.
Where the file lives:
- Workspace:
.vscode/mcp.jsonin your project. Run the command MCP: Open Workspace Folder MCP Configuration to open it. - User profile: run MCP: Open User Configuration. The documentation does not list a path for each operating system, so use the command.
You can also run MCP: Add Server from the Command Palette and choose HTTP. To write the file by hand, use this. VS Code asks for the key once, hides what you type and stores it, so the key does not sit in the file:
{
"inputs": [
{
"type": "promptString",
"id": "entityfeed-key",
"description": "EntityFeed API key (starts with ef_)",
"password": true
}
],
"servers": {
"entityfeed": {
"type": "http",
"url": "https://entityfeed.com/mcp",
"headers": {
"Authorization": "Bearer ${input:entityfeed-key}"
}
}
}
}
The documentation says VS Code prompts for the input value when the server first starts. It also says not to commit tokens or populated authentication headers to source control. If you use the workspace file, the inputs form above is the safe one to commit, because the key is not in it.
For type: "http" the documentation says VS Code tries the Streamable HTTP transport first and falls back to SSE.
Confirm that it works
- Run MCP: List Servers, pick
entityfeedand look at its state. The same menu has Start Server, Stop Server, Restart Server and Show Output. After you change the file, use Restart Server, or stop it and start it again. - Show Output opens the output channel of that server, where connection and authentication errors appear.
- Open Chat: Open Customizations and select MCP Servers to see the server and disable or remove it. Make sure the tools of the server are enabled for the chat you use.
- Ask the chat to search for a company in Slovakia or Czechia and approve the tool call. Records with
sourceandretrieved_atmean the key works. - VS Code may show a trust prompt the first time the server starts, or after you change its configuration. Read it and accept it if the file is yours. MCP: Reset Trust clears those decisions.
- In an organization, an administrator can restrict which MCP servers run. The documentation says that local configuration cannot override those limits.
Troubleshooting
These are the responses EntityFeed sends. Find the one your client shows, in its log or output.
HTTP 401, invalid_api_key. The body is:
{"error":{"code":"invalid_api_key","message":"Missing or invalid API key. Send it as 'Authorization: Bearer <key>'. Get a free key at https://entityfeed.com/"}}
The response also has the header www-authenticate: Bearer realm="mcp". It appears only on a tool call. Causes to check:
- The header is missing. In Claude Desktop route 1 the header may not have been saved. Remove the connector and add it again.
- The word
Bearerand the space are missing, or there is a stray quote or a line break in the key. - The key was typed with the wrong letters. Keys start with
ef_. A key cannot be shown again after registration, so if it is lost, you need a new one. - A variable such as
${env:ENTITYFEED_KEY}is empty because the client was started before the variable was set.
The server also accepts the key in an x-api-key header. You do not need that for the setups above.
HTTP 429, quota_exceeded. The monthly limit is used up. The body has limit, used, resets_at and plan, and the message names the reset date in UTC. The response has a retry-after header and the headers x-quota-limit, x-quota-used and x-quota-resets. Check your usage with the /v1/usage request at the top of this guide.
HTTP 405, method_not_allowed. The message is "This server is stateless. Use POST /mcp." A client that opens a GET connection to listen for server messages gets this answer. The server only accepts POST. A single 405 in a log, with tool calls that work, is expected. If everything fails with 405, the client is not using Streamable HTTP for this URL.
HTTP 404, not_found, "Unknown path." The URL is wrong. The address must be exactly https://entityfeed.com/mcp with no extra path and no /sse ending.
HTTP 400, "Parse error" (code -32700). The body was not valid JSON. A client that is configured correctly does not send this. It points to a proxy or bridge that changes the request.
HTTP 413, body_too_large. The request was larger than 1,000,000 bytes.
A tool call that returns an error result. The HTTP status is 200 and the result has isError set. The text is JSON of this form:
{"error":{"code":"not_found","message":"...","source":"...","retryable":false}}
The code is one of invalid_input, not_found, source_unavailable, source_timeout, source_rate_limited, source_not_configured or source_error. These come from the official register behind the lookup, not from your client or your key. When retryable is true, try again later. not_found means the register has no record with that ID.
Only some countries are offered. tools/list shows which countries the server can answer for. At the time of writing, a request to the live server lists SK and CZ.
The client lists the tools but every call fails. Listing needs no key, so this is the usual sign of a missing or wrong key. Run the /v1/usage request.
Claude Desktop, route 1, no Request headers section. Your organization does not have the beta. See route 2, or ask your Claude owner or Claude support.
Claude Desktop, route 2, server missing after restart. Check that the JSON is valid, that Node.js is installed and that npx runs in a terminal, and read mcp.log and mcp-server-entityfeed.log.
Cursor, server listed but red or no tools. Read MCP Logs in the Output panel. Check the file name and that the url is exactly https://entityfeed.com/mcp
VS Code, no key prompt. The documentation says the prompt appears when the server first starts. Run Start Server or Restart Server from MCP: List Servers, then open Show Output.
General information, not tax advice. EntityFeed data comes from public registers and is informational. See the terms.
Sources read on 5 November 2026
- Claude documentation, Add a connector that isn't in the directory: https://claude.com/docs/connectors/custom
- Claude Help Center, Getting started with custom connectors using remote MCP: https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp
- Model Context Protocol, Connect to local MCP servers (Claude Desktop config path, logs): https://modelcontextprotocol.io/docs/develop/connect-local-servers
- Model Context Protocol, Connect to remote MCP servers: https://modelcontextprotocol.io/docs/develop/connect-remote-servers
- mcp-remote README (third party): https://github.com/geelen/mcp-remote
- Cursor documentation, Model Context Protocol: https://cursor.com/docs/context/mcp
- Visual Studio Code, MCP configuration reference: https://code.visualstudio.com/docs/agents/reference/mcp-configuration
- Visual Studio Code, Manage and troubleshoot MCP servers: https://code.visualstudio.com/docs/agents/run/manage-mcp-servers
- Visual Studio Code, Use MCP servers: https://code.visualstudio.com/docs/copilot/customization/mcp-servers