MCPアクセス(AIエージェント)
MCPはiPhoneでも完全に利用可能になりました(ウェブアプリに加えて)。iPhoneの画面はウェブと同じで、対応するすべてのAIクライアント向けに同じセットアップスニペットを含みます。
MCPアクセスにはProまたはUltraプランが必要です。両プランとも完全な読み取り+書き込みアクセス(27ツール)を取得し、必要に応じて読み取り専用モードに切り替えられます。
MCP(Model Context Protocol)を使うと、AIコーディングアシスタントや自動化ツールをTellDoneのデータに直接接続できます。接続すると、AIエージェントはノート、タスク、イベント、レポート、タグ、変更履歴を読み取り、項目を作成・更新・削除・復元できます。合計27ツール: データ読み取り用が10、書き込み用が17あります。
iPhoneアプリ(設定 → 連携 → AIエージェント)とウェブアプリ(設定 → AIエージェント)の両方で利用できます。
2つの接続方法
AIクライアントの認証には2つの方法があり、どちらも完全にサポートされています。
- OAuth 2.1(推奨) - 標準的な「TellDoneでサインイン」の同意フローです。Claude Desktopのコネクタ画面やClaude.aiはこの方法を使います。トークンをコピーする必要はありません。TellDoneアカウントでサインインし、クライアントが求める権限を承認するだけです。
- Bearerトークン - 設定から個人アクセストークンをコピーし、クライアントの設定に貼り付けます。スクリプト、CLI、OAuthフローを内蔵していないクライアントにはこれがもっとも簡単です。
| クライアント | 推奨 |
|---|---|
| Claude Desktop / Cowork | OAuth - MCPのURLでカスタムコネクタを追加し、サインイン |
| Claude Code(CLI) | どちらでも - claude mcp addがブラウザでのOAuthを案内します。トークン方式ならBearerヘッダーを追加してください |
| スクリプトや自作のコード | Bearerトークン - 自動化がもっとも簡単 |
| 登録済みコネクタの一覧から選ぶことしかできないクライアント | 現時点ではBearerトークンかmcp-remoteブリッジを使ってください。TellDoneはまだどのコネクタディレクトリにも登録されていません |
プランの要件
| プラン | MCP |
|---|---|
| Free | ロック |
| Basic | ロック |
| Pro | 読み取り+書き込み(27ツール) - 読み取り専用モードに切り替え可能 |
| Ultra | 読み取り+書き込み(27ツール) - 読み取り専用モードに切り替え可能 |
アプリ内画面
AIエージェント画面はプランとMCPがオンになっているかによって3つの状態を持ちます。
ロック中(FreeとBasic)
FreeまたはBasicプランの場合、画面はMCPが何をするか説明し、アップグレードボタンを表示します。タップするとペイウォールが開き、ProまたはUltraに移れます。
無効(Pro/Ultra、機能オフ)
ProまたはUltraだがMCPをまだオンにしていない場合、画面はプランで何ができるかの短いサマリー(ツール数、アクセスモード、クォータ)と有効化ボタンを表示します。タップして接続トークンを生成し、連携を開始してください。
有効
有効化されると、画面はAIクライアントの接続に必要なすべてを表示します:
- モード切り替え - Ultraでは読み取り専用と読み取り+書き込みを切り替えられます。Proではモードは読み取り+書き込みで固定です。
- アクセストークン行 - トークンを表示/非表示する目玉トグルとコピーボタン付き。
- セットアップピッカー - Claude Code、Cursor、Windsurf、その他のタブ付き。タブの下に該当するコードスニペットが表示されます。コピーしてAIクライアントに貼り付けるだけです。
- 再生成ボタン - トークンをすぐにローテーションし、古いものを使うアクティブなセッションを切断します。
- 無効化ボタン - MCPをオフにしてトークンを削除します。後で再有効化できますが、新しいトークンが発行されます。
接続トークンは非公開にしてください。トークンを持つ誰でもTellDoneのデータにアクセスできます。トークンが漏れたと疑う場合は再生成を使ってください。
有効化方法
どちらのプラットフォームからでもMCPを設定できます:
- iPhone: 設定 → 連携 → AIエージェント(MCP)
- ウェブ: app.telldone.app → 設定 → AIエージェント
手順:
- 有効化をタップ。
- アクセスモードを選択(Ultraのみ - Proは常に読み取り+書き込み)。
- 目玉とコピーアイコンを使ってトークンを表示・コピー。
- セットアップセクションでツールを選択(Claude Code、Cursor、Windsurf、その他)。
- スニペットをAIクライアントの設定に貼り付け。
OAuthで接続する
Claude Desktop、Claude.ai、Cowork、Claude CodeにはOAuthが推奨です。トークンをコピーして持ち回る代わりに、TellDoneアカウントでサインインします。
OAuth用のMCP URL: https://api.telldone.app/mcp/user(末尾に/mcpは付けません。それは別のURLで、下のBearerトークン方式でのみ使います)
Claude Desktop / Cowork
- クライアントでカスタムコネクタを追加を選びます。
- サーバーURLを入力します:
https://api.telldone.app/mcp/user - クライアントがブラウザでTellDoneの同意ページを開きます。どのアプリがアクセスを求めているか、要求している権限の内容、そしてサインインフォームが表示されます。
- TellDoneアカウントのメールアドレスとパスワードでサインインし、許可をクリックします。
- クライアントが自動的にアクセストークンを受け取って接続します。トークンをコピーする必要はありません。
同意ページでのサインインにはTellDoneアカウントのメールアドレスとパスワードを使います。AppleまたはGoogleのサインインだけを使っていてパスワードを設定していない場合は、現時点では下のBearerトークン方式を使ってください。
Claude Code
OAuth(ブラウザでのサインインが開きます):
claude mcp add --transport http telldone https://api.telldone.app/mcp/user
Claude CodeはOAuthフローを自動的に検出しますが、最初の呼び出しではサインインしません。Claude Code内で/mcpを実行し、Authenticateを選ぶとブラウザでのサインインが開きます。その後はアクセストークンを自動で更新するので、あとから手を加える必要はありません。
Bearerトークン(ブラウザ不要。ヘッドレス環境に向いています):
claude mcp add telldone --transport http \
https://api.telldone.app/mcp/user/mcp \
--header "Authorization: Bearer YOUR_TOKEN"
YOUR_TOKENはアプリから取得します: 設定 → 連携 → AIエージェント → トークンをコピー(上の有効化方法を参照)。
Bearerトークンで接続する
OAuthを内蔵していないクライアント(Cursor、Windsurfなど)では、個人アクセストークンをクライアントの設定に直接貼り付けます。以下のすべての例でYOUR_TOKENを設定から取得したトークンに置き換えてください。
Cursor
.cursor/mcp.jsonに追加:
{
"mcpServers": {
"telldone": {
"url": "https://api.telldone.app/mcp/user/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}
Windsurf
.codeium/windsurf/mcp_config.jsonに追加:
{
"mcpServers": {
"telldone": {
"serverUrl": "https://api.telldone.app/mcp/user/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}
その他
アプリ内ピッカーでその他にグループ化されているクライアント向けのスニペットです。
Codex
codex.jsonに追加:
{
"mcpServers": {
"telldone": {
"type": "http",
"url": "https://api.telldone.app/mcp/user/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}
OpenClaw
設定 > MCP Servers > 追加:
- 名前:
TellDone - URL:
https://api.telldone.app/mcp/user/mcp - 認証:
Bearer YOUR_TOKEN
そ の他のMCPクライアント
HTTP上のMCPをサポートする任意のツールが接続できます。エンドポイントhttps://api.telldone.app/mcp/user/mcpをBearer YOUR_TOKEN認証ヘッダーとともに使用してください。
クライアントやプロキシがAuthorizationヘッダーを予約している場合(例えば一部のSmithery形式のゲートウェイ)、トークンを代わりにX-MCP-Token: YOUR_TOKENで送信してください。両方のヘッダーが動作します。両方が存在する場合、Authorizationが優先されます。
接続のテスト
シンプルなcURLコマンドでトークンが動作するか確認できます:
curl -X POST https://api.telldone.app/mcp/user/mcp \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
成功した応答は利用可能なすべてのツールを一覧表示します。
権限(スコープ)
OAuth接続にはスコープが設定されます。サインイン時にクライアントが何を要求しているかが正確に表示され、明示的に承認できます。
| スコープ | アプリにできること |
|---|---|
notes:read | ノートの読み取り、検索、ノート詳細の表示 |
notes:write | ノートの作成・編集・削除(および音声ノートのパイプラインの実行) |
tasks:read / tasks:write | タスクの読み取り / 作成・編集・完了・削除 |
events:read / events:write | イベントの読み取り / 作成・編集・削除 |
reports:read | 日次、週次、月次、年次レポートの読み取り |
tags:read / tags:write | タグの一覧表示 / タグの作成と名前変更 |
profile:read | プロフィールとサブスクリプション情報の読み取り |
offline_access | 離れている間も接続を維持(リフレッシュトークンを発行するので、セッションごとにサインインする必要はありません) |
スコープは上限であって保証ではありません。notes:readだけを持つ接続は、何を頼んでも書き込みツールを呼び出せません。スコープの上にさらにプランという2つ目のゲートがあります。
Bearerトークンによる接続には個別のスコープはありません。プランの読み取り/書き込みモードのみで制御されます。
何ができるか
読み取りツール(10) - ProとUltra
| ツール | 機能 |
|---|---|
| get_notes | フィルター(タグ、日付範囲、テキスト 検索)付きでノートを一覧 |
| get_note | 子タスク、イベント、完全な文字起こし付きで単一ノートを表示 |
| get_notes_full | 1回の呼び出しで埋め込みタスクとイベント付きの複数ノートを取得 |
| get_tasks | ステータス(to-do、done、all)、タグ、日付でフィルターしたタスクを一覧 |
| get_events | カレンダーイベントを一覧、日付範囲でフィルター |
| get_reports | 日次、週次、月次、年次レポートを読み取り(完全なMarkdown) |
| get_tags | 使用順にソートされたすべてのタグを表示 |
| get_profile | アカウント情報と使用統計を表示 |
| search | ノート、タスク、イベント全体を検索(ノートにはテキスト+セマンティック検索) |
| get_change_log | ノート、タスク、イベントの編集履歴と、各編集が取り消されたかどうかを確認 |
searchツ ールはノートのセマンティック検索をサポートします。キーワードだけでなく意味で結果を見つけます。例えば「予算に関する会議」で検索すると、「予算」という言葉が含まれていなくても財務に関する議論のノートが見つかります。
書き込みツール(17) - ProとUltra
| ツール | 機能 |
|---|---|
| process_note | 完全なAIパイプライン - テキストまたはオーディオを送信、タスク、イベント、タグ付きのノートを返す |
| create_note | プレーンテキストノートを追加(AI分析なし) |
| create_task | 優先度、期限、リマインダー、タグ付きでタスクを追加 |
| create_event | 日付、時刻、場所、リマインダー、参加者、繰り返し付きでカレンダーイベントを追加 |
| update_note | ノートのタイトル、要約、タイプ、タグ、優先度、ステータスを変更 |
| update_task | タスクのタイトル、説明、優先度、期限、リマインダー、タグ、ステータスを変更 |
| complete_task | タスクを完了としてマーク |
| update_event | イベントの詳細、時刻、場所、リマインダー、参加者、繰り返し、タグ、ステータスを変更 |
| delete_note | ノートとそのリンク されたすべてのタスクとイベントを削除 |
| delete_task | タスクを削除 |
| delete_event | イベントを削除 |
| undo_change_log_entry | 追跡された1件の編集(AIによるものも自分によるものも)を取り消し、フィールドを以前の値に戻す |
| restore_entity | 削除またはアーカイブされたノート、タスク、イベントを復元 |
| create_tag | 新しいタグを作成、または自動提案されたタグを永続的なものに変換 |
| set_tag_pinned | タグをピン留め/解除して先頭に並べる |
| delete_tag | タグを削除(restore_tagで復元可能) |
| restore_tag | 削除されたタグを復元 |
すべての書き込みおよび削除操作は、リアルタイム同期で接続デバイス(電話、ウェブアプリ)に即座に表示されます。
ツールリファレンス
get_notes
任意のフィルターでノートを一覧。日付フィルターはrecorded_at(音声ノートを録音したとき)を使い、created_atは使いません。
| パラメーター | タイプ | デフォルト | 説明 |
|---|---|---|---|
limit | int | 20 | 返すノート数(最大50) |
offset | int | 0 | この数のノートをスキップ(ページング、最大10000) |
tags | string | - | タグでフィルター、カンマ区切り(いずれかに一致) |
search | string | - | タイトルと要約でテキスト検索 |
date_from | string | - | 開始日、YYYY-MM-DD(包含) |
date_to | string | - | 終了日、YYYY-MM-DD(排他) |
standalone_only | bool | false | true の場合、フォローアップノート(親のノート・タスク・イベントに紐づくノート)を非表示にし、独立したノートのみを返します |
戻り値: id、title、summary、type、tags、priority、status、recorded_at、created_atを持つノート一覧。
get_note
完全な文字起こしとリンクされたすべてのタスクとイベント付きで単一ノートを取得。
| パラメーター | タイプ | 説明 |
|---|---|---|
note_id | string | ノートのUUID |
戻り値: title、summary、transcript、type、tags、priority、status、metadata、created_at、加えてtasks[]とevents[]配列。
さらにtranscript_speakers(話者ラベル付きの文字起こしの発話。複数の話者がいる会議向け - それ以外はnull)、speaker_count(録音が話者ごとに分割された場合を除きnull)、parent_note_id/parent_task_id/parent_event_id(このノートが別の項目のフォローアップ編集である場合に設定)も返します。各tasks[]/events[]エントリにはreminders_at/recurrence_rule(タスク)またはreminder_minutes/attendees/recurrence_rule(イベント)も含まれます。
get_notes_full
1回の呼び出しでタスクとイベント付きの複数ノートを取得。get_notesと同じフィルターを持ちますが、各ノートには埋め込みのtasks[]とevents[]が含まれます。
| パラメーター | タイプ | デフォルト | 説明 |
|---|---|---|---|
limit | int | 10 | ノート数(最大20) |
offset | int | 0 | この数のノートをスキップ |
tags | string | - | タグでフィルター |
date_from | string | - | 開始日、YYYY-MM-DD |
date_to | string | - | 終了日、YYYY-MM-DD |
standalone_only | bool | false | true の場合、フォローアップノート(親のノート・タスク・イベントに紐づくノート)を非表示にし、独立したノートのみを返します |
get_tasks
フィルター付きでタスクを一覧。
| パラメーター | タイプ | デフォルト | 説明 |
|---|---|---|---|
status | string | "todo" | フィルター: todo、done、またはall |
limit | int | 30 | タスク数(最大100) |
offset | int | 0 | この数のタスクをスキップ |
tags | string | - | タグでフィルター、カンマ区切り |
date_from | string | - | 開始日、YYYY-MM-DD(deadlineでフィルター。deadlineのないタスクは除外されます) |
date_to | string | - | 終了日、YYYY-MM-DD(deadlineでフィルター。deadlineのないタスクは除外されます) |
戻り値: id、title、description、status、priority、tags、deadline、reminder_at、reminders_at、completed_at、completed_by、source、created_atを持つタスク一覧。reminder_atは後方互換性のためreminders_atの最初のエントリを反映します - タスクのすべてのリマインダーを見るにはreminders_atを使ってください。
get_events
日付範囲フィルター付きでカレンダーイベントを一覧。
| パラメーター | タイプ | デフォルト | 説明 |
|---|---|---|---|
limit | int | 30 | イベント数(最大100) |
offset | int | 0 | この数のイベントをスキップ |
date_from | string | - | 開始日、YYYY-MM-DD(イベント開始時刻でフィルター) |
date_to | string | - | 終了日、YYYY-MM-DD |
戻り値: id、title、description、status、start_at、end_at、location、is_all_day、tags、note_id、reminder_minutes、attendees、recurrence_rule、created_atを持つイベント一覧。
get_reports
完全なMarkdownコンテンツでAI生成レポートを取得。
| パラメーター | タイプ | デフォルト | 説明 |
|---|---|---|---|
report_type | string | "daily" | タイプ: daily、weekly、monthly、またはyearly |
limit | int | 5 | レポート数(最大10) |
戻り値: id、type、period_start、period_end、content_md、created_atを持つレポート一覧。
月次レポートは3,000~5,000語にもなります。AIツールのコンテキストウィンドウが厳しい場合はlimit=1を使ってください。
get_tags
ピン留めを最初に、次に使用回数でソートされたすべてのタグを取得。
パラメーターなし。各々がtag、usage_count、is_pinned、is_manualを持つ最大100のタグを返します。
get_profile
アカウント情報と使用統計を取得。
パラメーターなし。email、display_name、locale、transcription_locale、timezone、subscription、mcp_mode、created_at、stats(ノート/タスク/イベント数)を返します。
search
ノート、タスク、イベントを一度に検索。ノートにはテキスト検索とセマンティック検索(AI埋め込みを使って意味で結果を見つける)の両方をサポート。
| パラメーター | タイプ | デフォルト | 説明 |
|---|---|---|---|
query | string | 必須 | 検索テキスト(最大500文字) |
limit | int | 20 | タイプごとの最大結果数(最大20) |
semantic | bool | true | ノートのセマンティック検索を有効化 |
タイプ別にグループ化された結果を返します: notes[]、tasks[]、events[]。各結果はid、type、title、detail、created_atを持ちます。
より高速なテキストのみ検索のためにsemantic=falseを設定。
get_change_log
ノート、タスク、イベントの編集履歴を表示。AIによるすべてのフォローアップ編集と、自分で行ったすべての手動編集を、新しい順に表示します。
| パラメーター | タイプ | デフォルト | 説明 |
|---|---|---|---|
entity | string | 必須 | notes、tasks、またはevents |
entity_id | string | 必須 | 項目のUUID |
include_manual | bool | false | AIによるものだけでなく、自分の手動編集も含める |
戻り値: id(取り消しの際にentry_idとして使用)、field_name、old_value、new_value、source(follow_up、smart_context、またはmanual)、origin_note_id、edited_at、reverted_at(取り消されると設定)を持つ変更エントリ一覧。
process_note(ProとUltra)
完全なAIパイプライン - アプリで録音するのと同じように動作します。テキストまたはオーディオを送信すると、TellDoneは文字起こし、AI分析を行い、抽出されたタスク、イベント、タグ、埋め込み付きの構造化されたノートを作成します。
このツールは非同期です: audio_idを返してすぐに戻り、バックグラウンドで処理します。結果は接続デバイスへのリアルタイム同期で届くか、get_notes()でポーリングできます。
| パラメーター | タイプ | 説明 |
|---|---|---|
text | string | 分析するテキスト(オーディオが提供されない場合は文字起こしをスキップ) |
audio_base64 | string | Base64エンコードされたオーディオファイル(最大50MB、文字起こしをトリガー) |
audio_format | string | m4a、ogg、wav、mp3、aac、webm(デフォルト: m4a) |
parent_task_id | string | フォローアップ先のタスクのUUID |
parent_note_id | string | フォローアップ先のノートのUUID |
parent_event_id | string | フォローアップ先のイベントのUUID |
textまたはaudio_base64のいずれかを提供する必要があります(両方も可能 - オーディオが文字起こしで優先されます)。
戻り値: {"audio_id": "...", "status": "processing", "mode": "text-only"}、またはオーディオが提供された場合は"mode": "audio+stt"。
process_noteはプランのクォータ(1日のアップロード、月のノート、最大テキスト長)の対象です。get_profileで現在の使用状況を確認してください。
create_note(ProとUltra)
プレーンテキストノートを即座に作成。AI分析をトリガーしません。タスクやイベントは抽出されません。タスク/イベント抽出付きの完全なAI分析には、代わりにprocess_noteを使ってください。
| パラメーター | タイプ | 上限 | 説明 |
|---|---|---|---|
title | string | 200文字 | 必須 |
summary | string | 1000文字 | 任意。短いティーザー(1~3文)。レポートのプロンプトに含まれるので簡潔に |
transcript | string | プラン依存 | 任意。ノート詳細に表示される長文本文。レポートには含まれません。上限: Free 2,000 / Basic 8,000 / Pro 20,000 / Ultra 50,000文字 |
type | string | - | 任意。task、idea、info(デフォルト)、status、meeting、event、reflection |
tags | string | 20タグ | カンマ区切り、任意 |
create_task(ProとUltra)
新しいタスクを作成。
| パラメーター | タイプ | 上限 | 説明 |
|---|---|---|---|
title | string | 200文字 | 必須 |
description | string | 2000文字 | 任意 |
priority | string | - | low、medium(デフォルト)、high |
deadline | string | - | YYYY-MM-DD、任意 |
reminder_at | string | - | ISO 8601日時(例: 2026-04-15T09:00:00Z)、任意 |
tags | string | 20タグ | カンマ区切り、任意 |
note_id | string | - | 親ノートにタスクをリンクするUUID、任意 |
create_event(ProとUltra)
カレンダーイベントを作成。
| パラメーター | タイプ | 上限 | 説明 |
|---|---|---|---|
title | string | 200文字 | 必須 |
start_at | string | - | ISO 8601日時、必須 |
end_at | string | - | ISO 8601日時(デフォルト: start + 1時間) |
description | string | 2000文字 | 任意 |
location | string | 200文字 | 任意 |
is_all_day | bool | - | デフォルト: false |
tags | string | 20タグ | カンマ区切り、任意 |
reminder_minutes | string | - | イベント前のカンマ区切り分数(例: 15,60)、任意 |
attendees | string | - | カンマ区切りの名前またはメール、任意 |
recurrence_rule | string | - | RRULE文字列(例: FREQ=WEEKLY;BYDAY=MO,WE,FR)、任意 |
note_id | string | - | 親ノートにイベントをリンクするUUID、任意 |
update_note(ProとUltra)
既存ノートの1つ以上のフィールドを更新。提供されたフィールドのみ変更されます。
| パラメーター | タイプ | 説明 |
|---|---|---|
note_id | string | 必須、ノートのUUID |
title | string | 新しいタイトル(最大200文字) |
summary | string | 新しい要約(最大1000文字、クリアにはスペース" "を渡す) |
transcript | string | 新しい文字起こし(プラン依存上限、クリアにはスペース" "を渡す) |
type | string | task、idea、info、status、meeting、event、reflection |
tags | string | カンマ区切りタグ(既存タグをすべて置換、最大20) |
priority | string | low、medium、high |
status | string | activeまたはarchived |
音声パイプラインで作成されたノートでは、transcriptは元の音声からテキストへの出力です。上書きすると正規ソースを置き換えます。元のものを保存したい場合は、上書きではなく追記を検討してください。
update_task(ProとUltra)
既存タスクの1つ以上のフィールドを更新。提供されたフィールドのみ変更されます。
| パラメーター | タイプ | 説明 |
|---|---|---|
task_id | string | 必須、タスクのUUID |
title | string | 新しいタイトル |
description | string | 新しい説明(クリアにはスペース" "を渡す) |
priority | string | low、medium、high |
deadline | string | YYYY-MM-DD(クリアにはスペースを渡す) |
status | string | todoまたはdone |
tags | string | カンマ区切りタグ(既存タグをすべて置換、最大20) |
reminder_at | string | ISO 8601日時(クリアにはスペースを渡す) |
statusをdoneに設定すると、タスクが完了した時刻と方法も記録されます。
complete_task(ProとUltra)
タスクを完了としてマークするショートカット。
| パラメーター | タイプ | 説明 |
|---|---|---|
task_id | string | 必須、タスクのUUID |
タスクが存在しないか、すでに完了している場合はエラーを返します。
update_event(ProとUltra)
既存イベントの1つ以上のフィールドを更新。提供されたフィールドのみ変更されます。
| パラメーター | タイプ | 説明 |
|---|---|---|
event_id | string | 必須、イベントのUUID |
title | string | 新しいタイトル |
description | string | 新しい説明(クリアにはスペースを渡す) |
start_at | string | 新しい開始時刻(ISO 8601) |
end_at | string | 新しい終了時刻(ISO 8601) |
location | string | 新しい場所(クリアにはスペ ースを渡す) |
status | string | confirmed、tentative、cancelled |
tags | string | カンマ区切りタグ(既存タグをすべて置換、最大20) |
is_all_day | string | "true"または"false" |
reminder_minutes | string | イベント前のカンマ区切り分数(例: 15,60) |
attendees | string | カンマ区切りの名前またはメール |
recurrence_rule | string | RRULE文字列(クリアにはスペースを渡す) |
delete_note(ProとUltra)
ノートを削除。これによりこのノートから作成されたすべてのタスクとイベントも削除されます。
| パラメーター | タイプ | 説明 |
|---|---|---|
note_id | string | 必須、ノートのUUID |
delete_task(ProとUltra)
タスクを削除。
| パラメーター | タイプ | 説明 |
|---|---|---|
task_id | string | 必須、タスクのUUID |
delete_event(ProとUltra)
イベントを削除。
| パラメーター | タイプ | 説明 |
|---|---|---|
event_id | string | 必須、イベントのUUID |
undo_change_log_entry(ProとUltra)
追跡された1件の編集を取り消します - その編集が行われる前の値にフィールドを戻します。編集がAI(フォローアップ録音による)によるものでも、あなたが直接行ったものでも同様です。
| パラメーター | タイプ | 説明 |
|---|---|---|
entity | string | 必須、notes、tasks、またはevents |
entity_id | string | 必須、項目のUUID |
entry_id | string | 必須、get_change_logから得られる変更エントリのid |
戻り値: {"entry_id", "entity_type", "entity_id", "field_name", "restored_value", "reverted_at"}。同じエントリを2回取り消すとエラーを返します - すでに取り消されているためです。
restore_entity(ProとUltra)
削除またはアーカイブされたノート、タスク、イベントを復元します。
| パラメーター | タイプ | 説明 |
|---|---|---|
entity | string | 必須、notes、tasks、またはevents |
entity_id | string | 必須、項目のUUID |
戻り値: 復元された項目をJSONで返します。
create_tag(ProとUltra)
新しいタグを作成、または既存の自動提案されたタグを永続的なものに変換します。
| パラメーター | タイプ | 説明 |
|---|---|---|
tag | string | 必須、1~50文字(小文字で保存) |
category | string | 任意 |
set_tag_pinned(ProとUltra)
タグをピン留めまたは解除して、タグリストの先頭に並べます。
| パラメーター | タイプ | 説明 |
|---|---|---|
tag | string | 必須 |
pinned | bool | 必須 |
/文字を含むタグはピン留めできません。
delete_tag(ProとUltra)
タグを削除します。restore_tagで復元できます。
| パラメーター | タイプ | 説明 |
|---|---|---|
tag | string | 必須 |
restore_tag(ProとUltra)
削除されたタグを復元します。
| パラメーター | タイプ | 説明 |
|---|---|---|
tag | string | 必須 |
入力の上限
| フィールド | 最大長 | 使用箇所 |
|---|---|---|
| title | 200文字 | ノート、タスク、イベントの作成/更新 |
| description | 2,000文字 | タスク、イベントの作成/更新 |
| summary | 1,000文字(ハード) | ノートの作成/更新。レポートのプロンプトに含まれ、トークンコストを抑えるために短く保たれます |
| transcript | プラン依存: Free 2,000 / Basic 8,000 / Pro 20,000 / Ultra 50,000 | ノートの作成/更新。長文本文、レポートには含まれない |
| location | 200文字 | イベントの作成/更新 |
| tags | 20タグ | ノート、タスク、イベントの作成/更新 |
| 検索クエリ | 500文字 | search |
| audio_base64(デコード後) | 50 MB | process_note |
上限を超えると、ツールは"title too long (max 200 chars, got 250)"のようなエラーメッセージを返します。
エラー処理
すべてのツールはJSONを返します。エラーはこの形式を使います:
{"error": "description of what went wrong"}
よくあるエラー:
| エラー | タイミング |
|---|---|
"MCP access is read-only..." | 読み取り専用モードで書き込みツールを呼び出した |
"Invalid note_id format" | UUIDではない文字列をIDとして渡した |
"Note not found" | IDが存在しないか、別のユーザーに属する |
"Task not found or already completed" | 存在しないか完了済みタスクでcomplete_taskを呼んだ |
"title too long (max 200 chars, got N)" | 入力上限を超えた |
"Too many tags (max 20)" | 20を超えるタグが提供された |
HTTPレベルのエラー:
| コード | 意味 |
|---|---|
| 401 | 無効なまたは欠落したBearerトークン |
| 403 | MCP無効、またはプランがMCPを許可しない |
| 429 | レート制限超過(5 req/s、バースト時は最大20) |
使用例
すべての例はMCP JSON-RPCプロトコルでcURLを使います。YOUR_TOKENを接続トークンに置き換えてください。
データの読み取り
# Get your profile and stats
curl -s -X POST https://api.telldone.app/mcp/user/mcp \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"get_profile"}}'
# List recent notes (limit 5, from April 2026)
curl -s -X POST https://api.telldone.app/mcp/user/mcp \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name":"get_notes","arguments":{"limit":5,"date_from":"2026-04-01"}}}'
# Search notes (hybrid text + semantic)
curl -s -X POST https://api.telldone.app/mcp/user/mcp \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call",
"params":{"name":"search","arguments":{"query":"project deadline","limit":5}}}'
データの書き込み(ProとUltra)
# Process a note through full AI pipeline (extracts tasks + events)
curl -s -X POST https://api.telldone.app/mcp/user/mcp \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"jsonrpc":"2.0","id":10,"method":"tools/call",
"params":{"name":"process_note","arguments":{"text":"Need to buy groceries tomorrow. Meeting with Katie at 3pm at the cafe to discuss the project."}}}'
# Create a task with deadline and reminder
curl -s -X POST https://api.telldone.app/mcp/user/mcp \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"jsonrpc":"2.0","id":11,"method":"tools/call",
"params":{"name":"create_task","arguments":{"title":"Review PR","priority":"high","deadline":"2026-04-15","reminder_at":"2026-04-15T09:00:00Z","tags":"dev"}}}'
# Create a recurring event with reminders and attendees
curl -s -X POST https://api.telldone.app/mcp/user/mcp \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"jsonrpc":"2.0","id":12,"method":"tools/call",
"params":{"name":"create_event","arguments":{"title":"Team standup","start_at":"2026-04-12T10:00:00Z","reminder_minutes":"15","attendees":"Katie,John","recurrence_rule":"FREQ=DAILY;BYDAY=MO,TU,WE,TH,FR","tags":"meeting"}}}'
# Complete a task
curl -s -X POST https://api.telldone.app/mcp/user/mcp \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"jsonrpc":"2.0","id":13,"method":"tools/call",
"params":{"name":"complete_task","arguments":{"task_id":"<task-uuid>"}}}'
成功した応答はこのようになります:
{
"jsonrpc": "2.0",
"id": 10,
"result": {
"content": [{"type": "text", "text": "{\"id\":\"...\",\"title\":\"Review PR\",\"status\":\"todo\"}"}]
}
}
書き込みおよび更新ツールはid、title、statusのみの最小限の応答を返します。書き込み後に完全な詳細(タグ、優先度、期限など)を取得するには、get_tasksまたはget_noteのようなフォローアップ読み取り呼び出しを行ってください。
トークンの管理
| アクション | 方法 |
|---|---|
| トークンを表示 | iPhoneの設定 → 連携 → AIエージェント(またはウェブの設定 → AIエージェント)、目玉アイコンをタップ |
| トークンをコピー | トークンの隣のコピーアイコンをタップ |
| 再生成 | 再生成をタップして確認。古いトークンはすぐに動作しなくなり、アクティブなセッションは切断されます |
| モード変更 | Ultraのみ - 読み取り専用と読み取り+書き込みを切り替え。Proではモードは読み取り+書き込みで固定 |
| 無効化 | 無効化をタップして確認。トークンは削除され、すべての接続が止まります。後で再有効化できます(新しいトークンが発行されます) |
AIエージェントに何を頼めるか
接続されたら、AIツールにこのようなことを尋ねてください:
1日の振り返り:
- 「今日は何に取り組んだ?」
- 「今週のノートを見せて」
- 「期限切れのタスクは何?」
タスクの管理:
- 「タスクを作成: 四半期レポートをレビュー、高優先度、金曜期限」
- 「Figmaタスクを完 了済みにマーク」
- 「どのタスクに取り組んでいる?」
検索と分析:
- 「マーケティング戦略に関するノートをすべて見つけて」
- 「来週のイベントは?」
- 「先週の日次レポートを要約して」
先を計画:
- 「イベントを作成: 明日午前10時にチームスタンドアップ」
- 「今週のカレンダーは?」
- 「トップタグを見せて - 何にもっとも時間を使ってる?」
AIエージェントはノート、タスク、イベント、レポートに完全アクセスできます。データの読み取り、作成、更新、削除ができ、複数のツールからの情報を組み合わせて複雑な質問に答えられます。
重要な注意
- ノート作成の2つの方法 -
create_noteはプレーンテキストノートを即座に作成します(AI分析なし)。process_noteは完全なAIパイプラインを実行します(アプリで録音するのと同じ) - テキストを分析し、タスクとイベントを抽出し、タグと埋め込みを生成します。TellDoneに考えてほしいときはprocess_noteを使ってください。 - 連携の同期なし - MCP経由で作成または更新された項目はWebhook自動化や連携同期(Todoist、Notion)をトリガーしません。次の同期でアプリに表示されます。
- セマンティック検索はツールに依存 -
process_noteで作成されたノートは埋め込みを取得し、セマンティック検索に表示されます。create_noteで作成されたノートは埋め込みを取得しないので、テキスト検索にのみ表示されます。 - 書き込み応答は最小限 - 作成および更新ツールは
id、title、statusのみを返します。書き込み後にすべてのフィールドを取得するには、フォローアップの読み取り呼び出しを行ってください。 - 日付フィルターはUTCを使用 -
date_from/date_toパラメーターはUTCタイムスタンプとして比較されます。UTC以外のタイムゾーンのユーザーでは、境界の日付が隣接する日々の項目を含めたり除外したりする可能性があります。 - レート制限 - 1秒あたり5リクエスト、バースト時は最大20。一括操作ではリクエストのペースを調整してください。
セキュリティ
- 各ユーザーは一意の384ビット接続トークンを取得します
- MCPを無効化または再生成すると、トークンはすぐに失効します
- すべてのデータはアカウントに厳密に分離されます。エージェントは自分のデータにのみアクセスできます
- すべてのリクエストはユーザーにスコープされます。エージェントが別のユーザーのデータにアクセスする方法はありません
- 接続はレート制限(5 req/s、バースト時は最大20)付きHTTPSを使います
- OAuth接続はPKCEを使い、認可コードは一度きり、アクセストークンは短命です。接続はアプリからいつでも取り消せます
技術的な詳細(ディスカバリーエンドポイント、トークンの有効期間、OAuthフロー全体)については、オープンソースのコネクタリファレンスgithub.com/exp78/telldone-mcpを参照するか、https://api.telldone.app/.well-known/oauth-protected-resourceを直接照会してください。
プライバシーとデータの流れ
データが接続先のAIツールに送信されるのは、あなたが明示的に何かを依頼したときだけです。例えば、ノートの読み取りや変更を頼んだときです。ツールが受け取るのは、実際に行った呼び出しへの応答だけで、その範囲もあなたが承認した権限に限られます。主導権はあなたにあります。プランの読み取り/書き込みモードの変更、サインイン時に承認するOAuthスコープの絞り込み、Bearerトークンの再生成や無効化は、すべて設定から行えます。詳しくはプライバシーポリシーをご覧ください。ご質問はsupport@telldone.appまでお寄せください。
トラブルシューティング
| 症状 | 原因と対処 |
|---|---|
| OAuthの同意ページに「メールアドレスまたはパスワードが違います」と表示される | TellDoneアカウントのメールアドレスとパスワード(アプリにサインインするときのもの)を使ってください。AppleまたはGoogleのサインインだけでパスワードを設定していない場合は、代わりにBearerトークン方式を使ってください。 |
| 接続はできたが、AIが作成も編集もできない | プランまたはモードが読み取り専用になっているか、接続に書き込みスコープが付与されていません。接続し直して承認するか、設定でモードを確認してください。 |
| ツールから「Insufficient scope」エラーが返る | OAuth接続にそのスコープが付与されていません。接続し直して、ツールが必要とする権限を承認してください。 |
| ツールがまったく表示されない | アカウントでMCPが有効になっていない(設定 → AIエージェント)か、プランにMCPが含まれていません。 |
| クライアントがコネクタ一覧からしか選べず、TellDoneが載っていない | TellDoneはまだどのクライアントのコネクタディレクトリにも登録されていません。MCPのURLでカスタムコネクタとして追加するか、Bearerトークン方式を使ってください。 |
関連項目
- Webhook自動化 - 外部サービスにデータを自動送信
- Todoist - 専用の双方向タスク同期
- Notion - 専用のNotion連携