mcpField
T
TablaCognita

TablaCognita

リモート
app.tablacognita.com生産性234 週間前に更新
リポジトリ公式サイト

TablaCognita について

TablaCognitaは、MCP対応AIクライアントと文書を共同編集するためのブラウザ版Markdownエディターです。セクション単位の編集や取り消しに対応し、文書はブラウザー内に保持してステートレスなリレーで通信します。

主な機能

  1. 01ブラウザーでのライブMarkdown編集
  2. 02読み書き用の17個のMCPツール
  3. 03安定したIDによるセクション編集
  4. 04AI編集の取り消しとスナップショット
  5. 05ロックとコンテキストによる編集調整

活用シーン

  1. 01選択した文章のAIによる改稿
  2. 02MCPクライアントからの指定セクション編集
  3. 03ブラウザーに保存した文書スナップショットの復元

MCP 対応

MCPサーバーは文書の読み取り、編集、調整、管理に使う17個のツールを公開します。WebSocketリレーを介してブラウザーエディターと通信します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://app.tablacognita.com/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://app.tablacognita.com/mcp認証が必要

ツール

詳細

TablaCognita

どんなAIとも共同執筆。ブラウザー上で。誰かのサーバーにデータを置くことなく。

TablaCognitaは、AIをテキストボックスに後付けされた機能ではなく、中心的な参加者として扱うブラウザーベースのMarkdownエディターです。テキストを選択してAIに送信できます。編集内容がリアルタイムで反映される様子を確認できます。いつでも元に戻せます。AIはMCPツールを通じてドキュメントを認識します。Claude Desktop、Cursor、その他すべてのMCP対応クライアントを支えるものと同じプロトコルです。

ドキュメントはブラウザー内に保存されます。リレーサーバーはステートレスな中継役です。あなたの文章を保存する人はいません。

仕組み

┌──────────────┐   MCP (stdio | HTTP)   ┌──────────────┐   WebSocket   ┌──────────────────┐
│  Your AI     │◄───────────────────────►│    Relay      │◄────────────►│  Browser Editor   │
│  (Claude,    │   Tool calls/results    │  (stateless)  │              │  (source of truth)│
│   Cursor,    │                         │               │              │                   │
│   any MCP)   │                         └──────────────┘              │  CodeMirror 6     │
└──────────────┘                                                       │  Live preview     │
                                                                       │  Section tracking │
                                                                       │  Lock management  │
                                                                       └──────────────────┘

AIは17種類のMCPツールを通じて読み書きします。エディターは、セクションの指定、あいまいなテキストの照合、編集の競合回避、取り消しを処理します。リレーはメッセージを中継するだけです。それだけです。

クイックスタート

git clone https://github.com/pstryder/tablacognita.git
cd tablacognita
npm install
npm start

ブラウザーで http://localhost:3000 を開くと、エディターをすぐに利用できます。

MCPクライアントを接続します。Claude Desktopの場合は、設定に以下を追加します。

{
  "mcpServers": {
    "tabla-cognita": {
      "command": "node",
      "args": ["server/index.js", "--transport", "stdio"],
      "cwd": "/path/to/tablacognita"
    }
  }
}

これでAIは、ドキュメントの読み取りやセクションの編集、テキストの置換、エディターから送信した選択範囲への応答ができるようになります。

AIにできること

読み取り — read_document、get_structure、get_section。AIはドキュメント全体、セクションのアウトライン、または見出し名や固定IDで指定した個々のセクションを確認できます。

書き込み — replace_section、replace_text、insert_after、append。自動ロック付きのセクション単位の編集ができます。Markdownの書式を考慮したあいまいなテキスト照合に対応しています(**bold text** を「bold text」で検索して照合)。ドキュメント全体の置換には、ブラウザーでの確認が必要です。

連携 — request_edit_lock、release_lock、get_cursor_context、get_dirty_regions、poll_context。AIはカーソルの位置や、最後に確認してから編集されたセクションを把握し、複数ステップの操作に備えてセクションをロックできます。すべてのロックにはTTLが設定されており、ロックがいつまでも残ることはありません。

管理 — open_document、snapshot、restore_snapshot、get_revision_history。名前付きのチェックポイントは、ブラウザーのIndexedDBに保存されます。1回のツール呼び出しで、任意のスナップショットを復元できます。

主な設計上の決定

ブラウザーが唯一の信頼できる情報源です。 リレーはドキュメントの状態を一切保持しません。リレーが再起動しても、ドキュメントはブラウザー内に残ります。AIは再接続して作業を続けます。

セクションIDは変わりません。 見出しを「Introduction」から「Overview」に変更しても、セクションIDは変わりません。AIはいつでも元のセクションを見つけられます。

エージェントの編集は取り消せます。 AIによる編集はすべて、CodeMirrorのトランザクションシステムを通じて行われます。Ctrl+Zを使えば、自分の編集と同じようにAIの編集も取り消せます。

ロックは意図を示すシグナルであり、ミューテックスではありません。 編集中の自動ロックはアトミックに処理され、表示されません。複数ステップの操作で明示的に設定するロックにはTTLがあり、作業を妨げることはありません。AIがセクションで作業中であることを穏やかに示すだけです。

通知は送信後の成否を待ちません。 エディターは、セクション間の移動、見出しの変更、コンテンツの削除をAIに通知します。通知に対応していないトランスポートの場合、AIは代わりにポーリングできます。通知が届くことに依存する機能はありません。

データがブラウザーの外に出ることはありません。 ドキュメントはCodeMirrorの状態として保存されます。スナップショットはIndexedDBに保存されます。リレーはストレージを持たないWebSocketブリッジです。召喚状で提出を求められるデータはありません。

プロジェクト構成

server/
  index.js          — MCP server + Express + WebSocket relay
  relay.js          — WebSocket relay, request/response correlation
  sessions.js       — Session management
  tools.js          — MCP tool definitions and handlers

editor/
  index.html        — Editor shell with CodeMirror 6 via ESM CDN
  app.js            — Editor logic, WebSocket handlers, all tool implementations
  styles.css        — Dark theme

shared/
  protocol.js       — Message types, error codes, constants
  sections.js       — Section parser with stable ID registry
  fuzzy.js          — 4-level fuzzy matching cascade
  locks.js          — Lock state machine with TTL
  notifications.js  — Notification debouncing and validation

test/
  relay.test.js     — Full relay round-trip tests
  sections.test.js  — Section parser unit tests
  fuzzy.test.js     — Fuzzy matching unit tests
  locks.test.js     — Lock state machine tests
  notifications.test.js — Notification system tests
  mock-browser.js   — Mock WebSocket client for automated testing

テストの実行

npm test              # All 122 tests
npm run test:sections # Section parser only
npm run test:fuzzy    # Fuzzy matching only
npm run test:relay    # Relay round-trip only

トランスポートモード

npm start                    # HTTP transport (default, port 3000)
npm run start:stdio          # stdio transport (for local MCP clients)
npm start -- --port 8080     # Custom port

要件

  • Node.js 18+
  • モダンブラウザー
  • MCP対応のAIクライアント

アーキテクチャの詳細

ツールの契約、WebSocketプロトコル、不変条件、障害モード、ビルド計画を含む完全な仕様については、DESIGN.md を参照してください。

ライセンス

Apache 2.0

クレジット

TablaCognitaは、Technomancy Laboratoriesの Pete Marchetti(PStryder)が設計・構築し、Kee(Claude Opus 4.6)がアーキテクチャのレビューと初回の実編集を行いました。

知を宿すページ。— tabla cognita

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。