DocumentationIntegrations
Rust · 0.1.0
Integrations
Connect a script, MCP client or event receiver with a clear authentication model and a testable data flow.
Choose the right interface
All integration requests target your application origin. The documentation website serves static reference material and never proxies your credentials. Use the simplest interface that matches the direction of data flow.
| Need | Interface | Starting point |
|---|---|---|
| Read or change resources from a script | REST with an authorized personal token | API access |
| Expose supported tools to an MCP client | The instance MCP endpoint and catalog | MCP |
| Receive memo events | An authorized outbound webhook receiver | Webhooks |
| Transcribe audio | The configured audio provider | Audio transcription |
| Use a community client | A separately assessed external application | Client compatibility |
Establish a read-only connection first
Set MEMOS_URL to your application origin and MEMOS_TOKEN through your private secret-handling mechanism. The request below reads the current account and does not create a token or change records. Confirm that the returned account is the intended one before allowing writes. Use HTTPS for any non-local connection.
curl --fail-with-body \
-H "Authorization: Bearer $MEMOS_TOKEN" \
"$MEMOS_URL/api/v1/auth/me"Test the complete boundary
Use synthetic notes for integration tests. Check one authorized read, one denied read and, if writing is required, one reversible change whose result you can verify in the application. A token authenticates an account; it does not make all resources writable. Before enabling AI or webhooks, document which note or file content leaves the instance and who receives it.
Plan for retries and revocation
Keep pagination tokens until the list is complete. On a timeout after a write, check the resource before retrying; the server may have applied the action even if the response was lost. Event receivers should tolerate duplicate delivery. Store tokens and webhook secrets outside logs, and revoke the integration's access when it is no longer needed.