Connect your agent
Every agent uses the same two things:
URL:
https://mcp.felku.com.br/mcpHeader:
Authorization: Bearer <your key>
Create the key in the dashboard, under Agents and keys (how keys work). The key is shown only once: copy it right away.
In the examples below, the key lives in an environment variable, FELKU_CONNECT_KEY, so it doesn't end up in your shell history or in project files:
export FELKU_CONNECT_KEY="paste-your-key-here"
Don't publish the key. Don't put it in a file that goes to Git (like a project
.mcp.json) or in a chat with the agent. Whoever has the key sends messages from your number.
After setting it up, ask the agent: "list the felku-connect tools". If it lists felku_get_connection_status, felku_send_text and the others, you're connected. If the answer is connection_required, you still need to connect WhatsApp or Telegram in the dashboard.
Claude Code
claude mcp add --transport http felku-connect https://mcp.felku.com.br/mcp \
--header "Authorization: Bearer $FELKU_CONNECT_KEY"
Without --scope, Claude Code saves the configuration only for you, in this project (scope local). Note: the shell replaces $FELKU_CONNECT_KEY with its value, so the key is stored in Claude Code's configuration file on your computer (~/.claude.json, in this project's entry). It doesn't go to the project or to Git, but anyone who reads that file reads the key.
Never use
--scope user. With it, every agent in every project on your computer gets access to your WhatsApp. Also avoid--scope project: it writes to the project's.mcp.json, which usually goes to Git.
Codex
codex mcp add felku-connect --url https://mcp.felku.com.br/mcp \
--bearer-token-env-var FELKU_CONNECT_KEY
Codex stores only the variable name and reads the key from it when connecting: the key is not written to the configuration file. Keep FELKU_CONNECT_KEY set in the environment Codex runs in.
Cursor
In .cursor/mcp.json (this project only; in that case, don't commit it to Git) or ~/.cursor/mcp.json (all projects):
{
"mcpServers": {
"felku-connect": {
"url": "https://mcp.felku.com.br/mcp",
"headers": { "Authorization": "Bearer ${env:FELKU_CONNECT_KEY}" }
}
}
}
Cursor replaces ${env:FELKU_CONNECT_KEY} with the environment variable's value (set it in your shell profile or system environment). Then open Customize in the sidebar and check that felku-connect shows up enabled.
Hermes
hermes mcp add felku-connect --url https://mcp.felku.com.br/mcp --auth header
Hermes asks whether the server requires authentication (answer yes) and asks for the token: paste just the key (fkc_...). It stores the key in Hermes' .env file as MCP_FELKU_CONNECT_API_KEY, and config.yaml keeps only the template Authorization: Bearer ${MCP_FELKU_CONNECT_API_KEY}. To check: hermes mcp test felku-connect.
Another MCP client
Any client that speaks MCP over HTTP works:
Transport: Streamable HTTP,
POSTonly, JSON response (no event streaming).URL:
https://mcp.felku.com.br/mcp.Header:
Authorization: Bearer <your key>.Stateless: the server doesn't use
Mcp-Session-Id. Clients on revision2026-07-28send the version on every request; earlier ones callinitializefirst and then send the agreed version in theMCP-Protocol-Versionheader.
Quick terminal test (since the server is stateless, you can list the tools directly, without initialize):
curl -s https://mcp.felku.com.br/mcp \
-H "Authorization: Bearer $FELKU_CONNECT_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
One answering agent per connection
Each key reads new messages with its own cursor. If two agents, with two keys, read the same connection, both get the same messages and both may reply. To avoid double replies, give a sending key to only one agent per connection and read-only keys to the others.
WhatsApp, Telegram, Claude, OpenAI, Codex, Cursor, Hermes and OpenBot are trademarks of their respective owners. Felku is not affiliated with, sponsored or endorsed by them. The WhatsApp connection is unofficial.