omnicord について
Omnicord は、AI クライアントから Discord コミュニティを操作する MCP サーバーです。メッセージ、モデレーション、管理、サーバー構築に対応し、破壊的な操作にはプレビューと確認を求めます。
主な機能
- 01概要からサーバー構成を作成
- 02メッセージの送信、検索、管理
- 03プレビューと確認付きのモデレーション
- 04AutoMod とコミュニティ機能の設定
- 051つのインストールで複数 Bot を運用
- 06Stdio と Streamable HTTP に対応
活用シーン
- 01計画に沿って Discord サーバー構造を作成
- 02チャンネル履歴の確認とメッセージ検索
- 03人の確認後にモデレーションを実行
- 04複数コミュニティの Bot を個別に管理
MCP 対応
MCP クライアントに、Discord のメッセージ、モデレーション、管理、診断、サーバー構築のツールを提供します。Stdio と Streamable HTTP に対応し、破壊的な操作にはプレビューと確認トークンが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @orygn/omnicordDISCORD_TOKENシークレットBot token from the Discord Developer Portal. The init wizard sets this up.OMNICORD_GUILDOptional default server id so tools can omit the guild parameter.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
155掲載時のツール一覧 · 1 週間前に更新
このツールにパラメーターはありません。
詳細
Omnicord
AI エージェント向けの Discord サーバー管理 MCP です。
Omnicord は、AI アシスタントに Discord サーバーの運用を全面的に 任せられる MCP サーバーです。日々のチャット、モデレーション、管理に加え、 さらに一歩進んで、数行の概要からコミュニティサーバー全体を構築できます。
実現したいことを伝えれば、AI が方法を判断します。Omnicord は それを正しく実行し、破壊的な操作があなたの許可なく行われないようにします。
仕組み
AI クライアント(Claude Desktop、Cursor、Windsurf、Claude Code、または その他の MCP クライアント)が頭脳です。Omnicord は実行役として、独自の ボットを通じて Discord と通信し、問題になる前に Discord のルールを適用し、 レート制限に配慮して処理を順番待ちにし、破壊的な操作にはすべて、確認用の プレビューを設けます。Omnicord 内に LLM はなく、背後で動作するクラウドサービスも ありません。ボットトークンはお使いのマシン上のファイルに保存されます。
クイックスタート
Node 20 以降と Discord アカウントが必要です。コマンド 1 つで開始できます。
npx @orygn/omnicord init
ソースから実行する場合:
git clone https://github.com/OrygnsCode/Omnicord.git && cd Omnicord
npm install
npm run build
node dist/index.js init
手順を動画で確認したい場合は、最初から最後までのセットアップをご覧ください。
この動画の内容は少し古くなっていますが、基本的な手順は今も変わりません。 より詳しい最新の手順を紹介する動画も公開予定です。
ウィザードを使えば、Discord アプリケーションを何もない状態から、約 1 分で
動作するようにセットアップできます。入力内容を隠した状態でボットトークンを受け取り、
Discord に対してリアルタイムで検証し、特権インテントの設定を確認して、オフになっている
項目があれば修正するまで待機します。選択した権限レベルで招待リンクを生成し、
トークンをローカルに保存します(ソースをチェックアウトした場合は gitignore された .env、
npx またはグローバルインストールの場合はユーザーフォルダー内の .omnicord/.env)。
さらに、AI クライアントの設定ファイルを先にバックアップしたうえで、そこに
omnicord のエントリを追加します。Claude Desktop(Microsoft Store 版を含む)、Cursor、
Windsurf、プロジェクト単位の Claude Code は、MCP を設定する前でも自動的に検出されます。
その他のクライアントでは、貼り付け用の設定スニペットが表示されます。追加するのは
omnicord のエントリのみで、ファイル内のほかの設定が上書きされることはありません。
その後、AI クライアントを完全に再起動して、次のように尋ねてください。
Discord ボットのセットアップを確認して
8 項目をチェックし、結果をわかりやすい言葉で示します。問題があれば、正確な修正方法も表示します。
後から更新するには、npx @orygn/omnicord@latest init を実行し、
AI クライアントに再登録を選択してください。ボットと設定はそのまま引き継がれます。
できること
| 領域 | 例 |
|---|---|
| サーバー構築 | 概要から、ロール、カテゴリー、チャンネル、権限を含むサーバー全体の構築計画を立て、1 回の追加操作で実行します。レイアウトをブループリントとして保存し、差分を確認して再構築できます。 |
| メッセージ | メッセージの送信、編集、ピン留め、転送、リアクション、投票、予約投稿、DM、Webhook、ルールやウェルカムパネル用のリッチな Components V2 レイアウトに対応します。 |
| 閲覧 | チャンネル履歴、メッセージの全文検索、メンバー、ロール、権限、監査ログを確認できます。 |
| モデレーション | タイムアウト、キック、BAN、一括操作、プルーニングに対応し、すべて事前プレビューできます。また、招待と DM を一時停止するレイドロックダウンにも対応します。 |
| AutoMod | Discord のサーバー側フィルターに対応します。キーワードルール、Discord が管理するプリセットリスト(差別語、下品な表現)、メンバープロフィールの確認、スパムやメンションの連投制限を設定できます。 |
| リアルタイム | サーバーのライブイベントを購読し、「見逃したことはありますか?」と尋ねることができます。 |
| 構成 | チャンネル、カテゴリー、権限の上書き、並べ替え、複製、ボイスチャンネルのステータスに対応します。 |
| コミュニティ | イベント(単発または定期)、ステージ、スレッド、フォーラム、招待、ウェルカム画面、オンボーディングに対応します。 |
| 表現 | 絵文字、ステッカー、サウンドボードのサウンドに対応します。 |
| 診断 | セットアップ確認、ボット情報、レート制限の状態、権限の説明を確認できます。 |
各ツールの完全な仕様については、 ツールカタログをご覧ください。
安全モデル
削除、BAN、キック、タイムアウト、一括操作などの破壊的な操作は、最初の呼び出しでは実行されません。人が読めるプレビューと、その操作だけに紐付けられた確認トークンが返されます。トークンを付けて呼び出しを繰り返すと、操作が実行されます。トークンは 1 回のみ使用でき、有効期限は 2 分です。モデレーションではさらに、ゲートを通す前に Discord の階層ルール、サーバー所有者の保護、自己保護を事前確認するため、403 ではなく理由が説明されます。
これはモデルの判断に委ねるのではなく、Omnicord 自体によって強制されます。混乱した AI セッションや侵害された AI セッションでも、ゲートを迂回することはできません。
複数のボット
Omnicord は 1 回のインストールで複数のボットを操作でき、各サーバーに 1 つずつ割り当てられます。サーバーを指定すると、そのサーバーに実際に参加しているボットが使用されるため、テスト用ボットと本番用ボット、またはコミュニティごとに別のボットを、トークンを切り替えずに並行して使えます。ウィザードの「ボットの数」プロンプトに回答して設定するか、bots.json を手動で編集してください。破壊的な操作のプレビューには実行するボットが表示されるため、誤ったボットに送られた操作を実行前に検出できます。単一の DISCORD_TOKEN は変更されず、これらの機能には一切関与しません。詳しくは複数のボットをご覧ください。
実行方法
デスクトップ MCP クライアント向けのデフォルトである Stdio:
node dist/index.js
リモート接続に対応したクライアントとセルフホスト向けの Streamable HTTP:
node dist/index.js --http # 127.0.0.1:3414/mcp
node dist/index.js --http --port 8080
ボットトークンは HTTP エンドポイントの背後にあるため、デフォルトでは厳格なセキュリティ設定が適用されます。OMNICORD_HTTP_TOKEN が設定されていない場合、localhost を超えてバインドしようとすると起動が拒否されます。ベアラー認証の比較には定時間比較を使用し、許可リストにないブラウザーのオリジンは拒否されます。また、DNS リバインディングを防ぐため、ループバックモードでは Host ヘッダーが検証されます。詳しくはセルフホストをご覧ください。
Docker
公開済みのイメージは Docker Hub(orygn/omnicord)で入手できます。または、独自にビルドすることもできます。このイメージは、コンテナーのヘルスチェックをヘルスエンドポイントに接続した状態で、HTTP トランスポートを非 root ユーザーとして実行します。ループバックの範囲を超えてバインドするため、OMNICORD_HTTP_TOKEN が必要です。設定されていない場合は、明確なメッセージを表示して終了します。トークンがイメージ内に保存されることはなく、実行時にすべて環境変数から渡されます。
docker run -d -p 3414:3414 \
-e DISCORD_TOKEN=your-bot-token \
-e OMNICORD_HTTP_TOKEN=a-strong-secret \
orygn/omnicord
代わりに自分でビルドするには、docker build -t omnicord . を実行してください。または、2 つのシークレットをエクスポートした後、compose を使って docker compose up -d を実行してください。
設定
環境変数、または .env ファイルを使用します(ウィザードが作成します。
ソースチェックアウトでは package.json の隣に、npx とグローバルインストールでは
ユーザーフォルダー内の .omnicord/.env に配置されます)。複数のボットは
同じディレクトリ内の bots.json で設定します。複数のボットを参照してください。
| 変数 | 機能 |
|---|---|
DISCORD_TOKEN | ボットトークンです。実際に使用するには必須です。これがなくてもサーバーは起動し、診断機能が修正すべき内容を説明します。 |
OMNICORD_GUILD | 省略可能なデフォルトのサーバー ID です。ツールでギルドパラメーターを省略できます。 |
OMNICORD_TOOLS | 読み込むツールグループです。未設定の場合はすべての 155 個を読み込みます。ツールセットを参照してください。 |
OMNICORD_SAFE_MODE | デフォルトで有効です。破壊的なツールは最初にプレビューを表示し、確認トークンを要求します。信頼できる自動化でのみ false に設定してください。 |
OMNICORD_GATEWAY | トークンが設定されている場合、デフォルトで有効です。ボットがオンラインとして表示され、リアルタイムのイベント購読が機能します。REST のみで動作させるには off に設定してください。 |
OMNICORD_HOME | 省略可能です。.env、bots.json、保存データを格納するディレクトリを指定します。デフォルトは、ソースチェックアウトではパッケージルート、インストール済みのコピーではユーザーフォルダー内の .omnicord です。 |
OMNICORD_DATA_DIR | 保存したブループリントとスケジュール済みメッセージの格納先です。デフォルトは、ソースチェックアウトでは package.json の隣にある .omnicord、インストール済みのコピーではユーザーフォルダー内の .omnicord です。 |
OMNICORD_PORT | HTTP ポートです。デフォルトは 3414 です。 |
OMNICORD_HTTP_HOST | HTTP のバインドアドレスです。デフォルトは 127.0.0.1 です。 |
OMNICORD_HTTP_TOKEN | HTTP モード用のベアラートークンです。localhost を超えてバインドするには必須です。 |
OMNICORD_HTTP_ORIGINS | HTTP エンドポイントへの呼び出しを許可するブラウザーオリジンを、カンマ区切りで指定します。空の場合、許可されるオリジンはありません。 |
stdio 用クライアント設定(Claude Desktop および互換クライアント):
{
"mcpServers": {
"omnicord": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"]
}
}
}
クライアント設定にトークンを記述する必要はありません。サーバーは、クライアントの起動元にかかわらず .env と
bots.json を検出します。OMNICORD_HOME が設定されていればその場所を確認し、次に現在のディレクトリ、
パッケージルート、ユーザーフォルダー内の .omnicord の順に確認します。また、実際の環境変数は
これらすべてより優先されます。
ドキュメント
| ドキュメント | 内容 |
|---|---|
| はじめに | ウィザードまたは手動で、数分でセットアップできます。 |
| 複数のボット | 1 つのインストールから、サーバーごとに複数のボットを実行する方法です。 |
| AI クライアントの接続 | Claude Desktop、Claude Code、Cursor、Windsurf、ChatGPT などの正確な設定方法です。 |
| セルフホスティング | HTTP トランスポート、Docker、ネットワーク経由でデプロイする際のセキュリティモデルです。 |
| トラブルシューティング | よくある問題とその解決方法です。 |
| セキュリティホワイトペーパー | Omnicord が操作できるものとできないものを平易な言葉で説明します。インストールするかどうかを判断する人向けです。 |
| SECURITY.md | エンジニア向けの脅威モデルと監査結果です。 |
| ツールカタログ | 155 個すべてのツールの完全な仕様です。 |
このドキュメントは AI アシスタントにも読みやすいように書かれています。ページを AI に貼り付けて、手順を案内してもらえます。
Omnicord は、公式 MCP レジストリ、 Smithery、Docker Hubにも掲載されています。
テスト
node scripts/unit.mjs # pure logic: resolver, permissions, planner, gate
node scripts/smoke.mjs # stdio protocol session, no token needed
node scripts/smoke-http.mjs # HTTP transport, sessions, auth, security gates
node scripts/acceptance.mjs # live end-to-end against a real test server
受け入れテストスイートでは、使い捨てテストサーバーを指す DISCORD_TOKEN と OMNICORD_GUILD が必要で、実行後に自身で後片付けをします。
scripts/smoke-docker.mjs はコンテナーイメージをビルドして検証するため、Docker デーモンが起動している必要があります。
ユニットテストとスモークテストでは Discord トークンは不要です。そのため、このサーバーを自分のボットに任せる前に、破壊的な呼び出しが確認ゲートによってブロックされ、トークンを指定した場合にのみ実行されることを確認できます。
貢献
バグ報告やプルリクエストを歓迎します。 CONTRIBUTING.mdには、構成、テストスイート、規約と、唯一の厳格なルールが記載されています。コンテンツを削除する、アクセス権を取り消す、メンバーに制裁を加える、または多数のエンティティに変更を展開するツールは、必ず確認ゲートを経由しなければなりません。プロジェクトは Contributor Covenantに準拠しています。
ライセンス
Omnicordのソースコードは、 Elastic License 2.0のもとで公開されています。簡単に言えば、誰でも自由に閲覧、使用、改変、およびセルフホストでき、自らのコミュニティを運営する企業も対象です。ライセンスで禁止されていることは、Omnicordをホスト型またはマネージドサービスとして第三者に提供することだけです。コードは監査できるよう公開されていますが、サービスとして転売することはできません。
バージョン管理
セマンティックバージョニングを採用し、CHANGELOG.mdで管理しています。1.0.0は一般公開を示すバージョンでした。それ以降のリリースもsemverに従っており、上記のnpmバッジに最新バージョンが表示されます。package.jsonのバージョンは、MCP サーバーの識別情報、ヘルスエンドポイント、ウィザードなど、すべての箇所に自動的に反映されます。
Orygn LLCが開発しました。セキュリティに関する報告先: [email protected]。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
