Twoody pour les développeurs Twoody for developers

Une API, un serveur MCP, du self-host. Du dev pour les devs. An API, an MCP server, full self-host. By devs, for devs.

Twoody expose la même surface technique partout : l'app iOS, le CLI et un agent Slack tiers parlent à /api/v1. Brancher Twoody, l'étendre ou l'auto-héberger, c'est la même stack, jamais une version réduite. Twoody exposes the same technical surface everywhere: the iOS app, the CLI and a third-party Slack bot all talk to /api/v1. Plug it, extend it, or self-host it — same stack, never a reduced version.

API

API JSON versionnée Versioned JSON API

L'API publique de Twoody Cloud, sous /api/v1, est la même surface qu'utilisent l'app iOS, le client Mac, le CLI et les bots tiers. Auth bearer, JSON in / JSON out, versionnage explicite. Twoody Cloud's public API, under /api/v1, is the same surface our iOS app, Mac client, CLI and third-party bots use. Bearer auth, JSON in / JSON out, explicit versioning.

  • POST /api/v1/queries — soumet une requête, récupère la réponse en streaming SSE POST /api/v1/queries — submit a query, receive the SSE-streamed reply
  • GET /api/v1/me, /api/v1/discussions, /api/v1/memories GET /api/v1/me, /api/v1/discussions, /api/v1/memories
  • OAuth-style bearer tokens, scopes par capacité OAuth-style bearer tokens, per-capability scopes
  • Rate-limits transparents, headers X-RateLimit-* Transparent rate-limits, X-RateLimit-* headers
api
$ curl -X POST https://api.twoody.com/api/v1/queries \
    -H "Authorization: Bearer $TWOODY_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"text": "résume mes 3 derniers emails"}'$ curl -X POST https://api.twoody.com/api/v1/queries \
    -H "Authorization: Bearer $TWOODY_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"text": "summarise my last 3 emails"}'
MCP

Serveur MCP officiel Official MCP server

Twoody est déployable comme serveur MCP — Model Context Protocol — et expose ses outils (emails, agenda, fichiers, web, smart home) à n'importe quel client compatible. Claude Desktop, Cursor, IDE locaux : ils parlent à Twoody comme à un serveur MCP standard. Twoody runs as an MCP server — Model Context Protocol — exposing its tools (email, calendar, files, web, smart home) to any compatible client. Claude Desktop, Cursor, local IDEs: they talk to Twoody as a standard MCP server.

  • Compatible avec la spec MCP officielle (Anthropic) Compatible with the official MCP spec (Anthropic)
  • Expose les capacités Twoody actives sur votre compte Exposes the Twoody capabilities active on your account
  • Auto-discovery des outils, pas de hard-coding côté client Tool auto-discovery, no client-side hard-coding
  • Mode local (twoody-server) ou cloud (api.twoody.com) Local mode (twoody-server) or cloud (api.twoody.com)
mcp
# Claude Desktop config (claude_desktop_config.json)
{
  "mcpServers": {
    "twoody": {
      "command": "npx",
      "args": ["-y", "@twoody/mcp"],
      "env": { "TWOODY_TOKEN": "..." }
    }
  }
}# Claude Desktop config (claude_desktop_config.json)
{
  "mcpServers": {
    "twoody": {
      "command": "npx",
      "args": ["-y", "@twoody/mcp"],
      "env": { "TWOODY_TOKEN": "..." }
    }
  }
}
OAUTH

OAuth pour intégrations tierces OAuth for third-party integrations

Si vous construisez un produit qui veut parler à Twoody — par exemple un dashboard, un assistant CLI, un widget — passez par OAuth officiel : redirect, scopes minimaux, refresh tokens, révocation depuis le compte utilisateur. Building a product that talks to Twoody — a dashboard, CLI assistant, widget — go through official OAuth: redirect, minimal scopes, refresh tokens, revocation from the user account.

  • Authorization Code + PKCE Authorization Code + PKCE
  • Scopes par capacité (read:emails, write:calendar…) Per-capability scopes (read:emails, write:calendar…)
  • Refresh tokens long-lived, access tokens court-lived Long-lived refresh tokens, short-lived access tokens
  • Révocation utilisateur en un clic depuis /profile One-click user revocation from /profile
oauth
# Authorization request
https://www.twoody.com/oauth/authorize
  ?client_id=YOUR_APP_ID
  &redirect_uri=https://yourapp.example/callback
  &response_type=code
  &scope=read:emails+write:calendar
  &code_challenge=XYZ
  &code_challenge_method=S256# Authorization request
https://www.twoody.com/oauth/authorize
  ?client_id=YOUR_APP_ID
  &redirect_uri=https://yourapp.example/callback
  &response_type=code
  &scope=read:emails+write:calendar
  &code_challenge=XYZ
  &code_challenge_method=S256
SELF-HOST

Self-host complet Full self-host

Tournez la stack entière sur votre infra. Twoody Server (Fastify + SQLite), Twoody CLI pour l'orchestration, Desktop Connector pour l'accès local Mac, modèles LLM en local via Ollama / MLX / llama.cpp. Aucune donnée ne quitte votre machine quand vous le décidez. Run the whole stack on your infra. Twoody Server (Fastify + SQLite), Twoody CLI for orchestration, Desktop Connector for local Mac access, LLM models locally via Ollama / MLX / llama.cpp. No data leaves your machine when you decide.

  • twoody-server : Fastify + SQLite + endpoints /api/v1/* miroir cloud twoody-server: Fastify + SQLite + /api/v1/* endpoints mirroring cloud
  • twoody-cli : npx twoody serve, twoody pair, twoody chat twoody-cli: npx twoody serve, twoody pair, twoody chat
  • twoody-mcp : @twoody/mcp pour brancher Claude Desktop / Cursor twoody-mcp: @twoody/mcp to plug Claude Desktop / Cursor
  • Modèles : Qwen, Llama, Phi, DeepSeek distill via Ollama / MLX Models: Qwen, Llama, Phi, DeepSeek distill via Ollama / MLX
self-host
$ npx @twoody/cli serve
→ Twoody Server up on http://localhost:7747
→ Pair an iPhone:  npx @twoody/cli pair
→ Run a query:    npx @twoody/cli chat "résume mon inbox"$ npx @twoody/cli serve
→ Twoody Server up on http://localhost:7747
→ Pair an iPhone:  npx @twoody/cli pair
→ Run a query:    npx @twoody/cli chat "summarise my inbox"

Ce que les devs construisent What devs build

Quelques formes que prennent les intégrations Twoody dans la nature. A few shapes Twoody integrations take in the wild.

Un agent dédié A dedicated agent

CLI, Discord bot, Slack bot, hook GitHub : utilisez l'API pour brancher un agent Twoody sur votre canal préféré sans réécrire les outils. CLI, Discord bot, Slack bot, GitHub hook: use the API to wire a Twoody agent into your channel of choice without rewriting tools.

Un dashboard interne An internal dashboard

Recherchez vos discussions, exportez vos mémoires, surveillez l'usage par utilisateur. Tout passe par l'API, vos credentials restent dans votre infra. Search your discussions, export memories, monitor per-user usage. Everything flows through the API, credentials stay in your infra.

Une intégration tierce A third-party integration

Si votre produit a un cas d'usage IA, brancher Twoody comme backend en OAuth évite de gérer un LLM provider, du RAG, ou une mémoire utilisateur. If your product has an AI use case, plugging Twoody as the backend via OAuth saves you from running an LLM provider, RAG, or user memory yourself.

Un outil custom A custom tool

Le serveur MCP local accepte vos propres tool handlers : ajoutez une fonction métier (votre CRM interne, votre stack maison) et Twoody peut l'appeler à la voix. The local MCP server accepts your own tool handlers: add a business function (your internal CRM, your homegrown stack) and Twoody can call it by voice.

Adjacent Adjacent

Vous voulez essayer ? Want to try?

Créez un compte Twoody gratuit, récupérez un token bearer dans /profile, et frappez /api/v1/me. Si vous avez besoin d'un mode self-host complet, prenez contact via /private/start. Create a free Twoody account, grab a bearer token from /profile, and hit /api/v1/me. For a full self-host setup, ping us via /private/start.