fonella works with your AI tools and, through the API, with every programming language.

Control your assistant from chat, editor or terminal through the MCP server, or build it straight into your own software with the REST API and webhooks.

  • ClaudeIn the app and on the web
  • ChatGPTAs an app in developer mode
  • Claude CodeWith one command in the terminal
  • CursorRight in the editor
  • VS CodeIn Copilot agent mode
  • WindsurfRight in Cascade
  • Gemini CLIIn the terminal
  • Le ChatAs a custom connector by Mistral

Works with every programming language and framework

  • JavaScript
  • TypeScript
  • Node.js
  • npm
  • PHP
  • Laravel
  • Symfony
  • Python
  • Django
  • FastAPI
  • Go
  • Ruby
  • Ruby on Rails
  • OpenJDK
  • Kotlin
  • .NET
  • Swift
  • Rust
  • Dart
  • React
  • Vue.js
  • Next.js

Connect the MCP server

The fonella MCP server connects your account to the AI tool you already use. You sign in with your fonella account, no API key needed. Pick your AI tool and follow the steps.

  1. Open Settings and go to Connectors.
  2. Choose “Add custom connector” and enter the address.
  3. Sign in with your fonella account.
1https://api.fonella.ai/mcp

Tools: how to define a tool call

A tool is an HTTPS endpoint of your system that the assistant calls on the phone and in chat, for example for the status of an order. You describe when to use it and which parameters it passes, fonella does the rest.

Register the tool

Name, description, address and the JSON schema of the parameters. The same fields are in the customer area under Developers and in the MCP server as create_tool.

1curl -X POST "https://api.fonella.ai/v1/me/tools" \
2  -H "Authorization: Bearer fon_live_YOUR_API_KEY" \
3  -H "Content-Type: application/json" \
4  -d '{
5  "name": "order_status",
6  "description": "Looks up the status of an order by its order number",
7  "url": "https://example.com/fonella-tool",
8  "method": "POST",
9  "inputSchema": {
10    "type": "object",
11    "properties": {
12      "orderNumber": {
13        "type": "string",
14        "description": "Order number the caller names"
15      }
16    },
17    "required": [
18      "orderNumber"
19    ]
20  }
21}'

Answer at the endpoint

fonella sends toolName and arguments in the data field and expects a JSON object with result as text. The assistant reads this text to the caller or writes it into the chat.

1import express from 'express';
2const app = express();
3app.use(express.json());
4
5app.post('/fonella-tool', (req, res) => {
6  const { toolName, arguments: args } = req.body.data;
7  // Your logic here, e.g. an order lookup
8  const result = { orderNumber: args.orderNumber, status: 'shipped' };
9  res.json({ result: JSON.stringify(result) });
10});
11
12app.listen(3000);

REST API and webhooks

With the REST API your own software works with your fonella account, and webhooks tell it what is happening right now.

  • Calls, chats and settings

    Read logs and messages, change settings, create tools and webhooks.

  • Webhooks in real time

    Your system learns about calls and chats the moment they happen, every message signed with HMAC-SHA-256.

  • API keys

    Create and revoke them in the customer area under Developers, each key on its own.

Included in Business and Premium

MCP server, tools, REST API and webhooks are part of the developer tools in the Business and Premium plans.