Intro

This is just the beginning of Index software development. Expect things to change! Feedback is very much appreciated, ideally as a Bug Report (Pebble app → Settings → Get Help) or as a PR to our open source Pebble mobile app https://github.com/coredevices/mobileapp.

We are building Index for ourselves. We are hackers and love to mess around with the devices we have. Our mantra is great defaults, with an open side door for hackers.

With a webhook, you can configure your Index 01 to:

  • Send raw voice recordings to your own app or webserver

  • Send transcriptions of each recordings to an agent (eg Openclaw, Claude Code, Codex etc)

With the MCP sandbox, you can add any existing or new MCP to the system prompt, enabling things like:

  • Routing requests to your own tools

    • Home Assistant - ’Turn on the bedroom lights

    • Google Suite - ‘Send an email to my next meeting attendees saying I’ll be late’

    • Slack - ‘Send a hilarious gif to #random

    • Tesla - ‘Cool down my car’

    • Spotify - ‘Play my workout playlist

Right now, only cloud MCP servers are supported but we have internal support for local MCPs (eg KMP or WASM), which will hopefully be exposed to devs in future.

Webhooks

You can set up a webhook which will be sent on each recording, in addition to the agent execution. This means note creation, actions, etc. will still run but you can store your text/audio on your own server or have it sent elsewhere.

You can find webhook settings under the main Index tab settings. Currently, only a single webhook can be configured.

Settings explained

  • Webhook URL: The URL of the webhook itself.

  • Headers: Any headers to be sent along with the request, this used to be limited to just a non-standard auth header but now can be anything. Using a standard Authorization header with some form of token is recommended for basic security.

  • Send: You can choose to send just the recording, just the transcription, or both.

  • Trigger: The button combination which will trigger webhooks (or you can pick all)

Request format

The webhook request will be a HTTPS POST to your configured URL in multipart/form-data format.

Multipart fields

Multipart field

Included when

Content type

audio

Webhook is set to send audio/both

audio/mp4

transcription

Transcription is available (succeeded) and webhook is set to send text/both

Text

recordedAt

Always

Recording timestamp as milliseconds since unix epoch

client

Always

Text: ‘ring’

Request headers

Header

Included when

Representative value

Content-Type

Always

multipart/form-data; boundary=<uuid>

X-Audio-Size

Audio is present

Size of M4A payload in bytes

User-defined headers

Always

e.g. Authorization: Bearer 123abc

MCP Sandbox

While the offline-capable Index agent is limited to the included tools, you can customise the agent harness to use a different ‘MCP Sandbox’ via the cloud agent instead.

This enables custom MCP servers to be used, so you can take actions or request information from MCP integrations via the Index 01.

Please note MCP servers requiring OAuth login flow currently aren’t supported, authentication is only done via Authorization header

Recommended setup

The recommended setup is to have the normal Index agent run for ‘single click’ recordings (holding the button and speaking) and a custom MCP Sandbox with the cloud-only agent for ‘double click’ recordings (clicking once before holding and speaking).

This way you don’t miss out on normal note-taking features and offline support but can make more complex requests and custom actions on a double click.

Creating a sandbox group

Under the ‘MCP & Tool Settings’ you can create a sandbox group, this will hold any custom MCP servers to provide to the agent. You can also select a model type for the agent:

  • Index Agent - The default offline-capable model and prompt, does not support MCP customization

  • Default - A safe default for custom MCP usage, very fast but capable (Cloud only)

  • High Capability - Slower but more capable model compared to ‘Default’, only recommended if the default model is struggling to understand your request e.g. you have a lot of MCP servers or tools (Cloud only)

Once created, you can assign MCP servers via the ‘MCP Servers’ tab.

Linking and assigning MCP servers

In addition to the built in MCP servlets provided by the app, you can add HTTP-based MCP servers that utilize the ‘SSE’ or ‘Streamable HTTP’ protocols.

MCP Server settings explained

  • Name - Human and LLM readable name, pick something short but clear what integration it relates to

  • URL - URL to the MCP server’s API

  • SSE/Streamable - The type of HTTP MCP server you’re adding, check the server’s documentation if you don’t know

  • Groups - Which MCP Sandbox groups to assign it to, pick your new group here

  • Authorization - Recommended, enter a token for the MCP server here e.g. Bearer token123

  • Prompts - Appears once you have configured the server, enables you to select prompts from the MCP server that will be added to the system prompt of the agent.

Configuring MCP Sandbox on a double click

Once an MCP sandbox group is created, you can assign it to be used on a double click in the main Index tab settings, under ‘Double click and hold’. The chosen agent will now run with the selected MCP servers’ tools and prompts when you double click and record.