Laraue Boards について
Laraue Boardsは、Jiraに似たタスク管理システムのバックエンドです。組織、スペース、エピック、課題で作業を管理し、柔軟な権限設定と課題履歴に対応します。
主な機能
- 01課題の作成と管理
- 02課題へのコメント
- 03課題履歴の確認
- 04組織とスペースの権限設定
- 05AIコンテンツの要約
活用シーン
- 01スペースをまたいだタスクや課題の管理
- 02課題の変更履歴の確認
- 03組織内エンティティのアクセスルール設定
- 04アプリ内でのAIコンテンツ要約
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://boards.laraue.com/boards-mcp/mcpclaude mcp add --transport http com-laraue-boards https://boards.laraue.com/boards-mcp/mcp{"mcpServers":{"com-laraue-boards":{"type":"http","url":"https://boards.laraue.com/boards-mcp/mcp"}}}Cursor で開く{"servers":{"com-laraue-boards":{"type":"http","url":"https://boards.laraue.com/boards-mcp/mcp"}}}VS Code で開く{"mcpServers":{"com-laraue-boards":{"type":"http","url":"https://boards.laraue.com/boards-mcp/mcp"}}}{"mcpServers":{"com-laraue-boards":{"serverUrl":"https://boards.laraue.com/boards-mcp/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://boards.laraue.com/boards-mcp/mcp認証が必要ツール
詳細
Laraue.Apps.Boards
このリポジトリには、Jira のようなタスク管理システムのバックエンドが含まれています。
インターフェースの例
アプリの構成
Laraue.Apps.Boards.DataAccess
モデルと、それらのモデルに関連する列挙型を含むレイヤーです。
Laraue.Apps.Boards.Services
他のサービスを利用するサービスのレイヤーです。主に CRD 操作における複雑なロジックをカプセル化するために必要です。
例:issue の作成では、updated_at プロパティを更新したり、変更履歴にレコードを追加したりする場合があります。
そのため、このサービスは issue を作成するメソッドを提供します。
注: コアサービスでトランザクションを管理するべきではありませんが、関数の冒頭で context.Database.EnsureTransaction を呼び出してトランザクションを要求する場合があります。
Laraue.Apps.Boards.WebApiServices
WebApi から呼び出すサービスです。
Laraue.Apps.Boards.TelegramServices
TelegramApi から呼び出すサービスです。
ローカルでの実行
フロントエンドの扱い方については、フロントエンドリポジトリを確認してください。
各ホストは、ローカル環境でのオーバーライド設定をそれぞれの appsettings.Development.json(Git で無視され、リポジトリに含まれる appsettings.json とは異なります)から読み込みます。Identity/Billing に依存せず、ローカルの Postgres に接続して Laraue.Apps.Boards.WebApiHost を実行するための最小構成は次のとおりです(AI による要約は、後述のとおりデフォルトでローカルの Ollama インスタンスを使用します)。
{
"Auth": {
"Key": "any-local-signing-key"
},
"MockExternalServices": true
}
Laraue.Apps.Boards.TelegramHost では MockExternalServices の行だけが必要です(Auth:Key の代わりに、専用の Telegram:Token を設定します)。各設定の役割や、実際の AI/Identity/Billing インスタンスへの接続方法については、以下の各節を参照してください。
AI コンテンツの要約(ローカル開発)
appsettings.json の AiSummarizer セクションは、デフォルトでローカルの Ollama インスタンスを使用します。Ollama は OpenAI 互換の /v1/chat/completions エンドポイントを公開しており、要約機能は OpenAI 互換 API であればどれでも利用できるためです。Ollama をインストールしてから、設定で参照されているモデルを取得してください。
ollama pull gemma3:12b
インストール後、Ollama はデフォルトで http://localhost:11434 で動作します。ローカルの小規模モデルでは、JSON の応答からフィールドが抜けることがあります。そのため、appsettings.Development.json では AiSummarizer:UseJsonSchema を有効にしています。これにより、応答は JSON Schema に準拠するよう制約されます(Ollama がサポートする response_format: json_schema を使用します)。DeepSeek のように通常の JSON モードしかサポートしないプロバイダーでは、この設定を無効のままにしてください。本番環境では、AiSummarizer:BaseUrl/AiSummarizer:Model/AiSummarizer:ApiKey を上書きし、代わりに実際のプロバイダー(例:DeepSeek)を指定してください。
Identity/Billing を使用しない実行
Boards は gRPC 経由で 2 つの他サービスを呼び出します。Laraue.Apps.Identity(初回ログイン時のグローバルなユーザー ID)と Laraue.Apps.Billing(AI トークンの使用量/サブスクリプションの上限)です。どちらもローカルで実行する必要はありません。両ホストの appsettings.Development.json では "MockExternalServices": true が設定されており、実際の gRPC クライアントの代わりに、プロセス内のフェイク実装がこれらの呼び出しに使われます(常に成功し、固定の十分な上限が適用され、ネットワーク通信も発生しません)。ローカルで実行中の Identity/Billing インスタンスを実際に試す場合は、false に戻してください。
テスト用ユーザーを作成する
POST: http://localhost:5200/api/test/user
{
"username": "winDiezel",
"languageCode": "ru",
"firstName": null,
"lastName": null
}
テスト用ユーザーとして認証する
http://localhost:5200/api/test/user/{userId} に GET リクエストを送信すると、ベアラートークンを取得できます。
フロントエンドの .env ファイルに設定してください。
NUXT_PUBLIC_TEST_USER_TOKEN=Taken_Token
権限アーキテクチャ
アプリケーションの権限は 2 つに分かれています。
- エンティティ権限。組織のスペース、エピック、issue へのアクセスを設定できます。
- 組織レベル。一度にすべてのエンティティに対する設定を行います。
- 各スペースの柔軟な設定。組織レベルの設定と組み合わせられます。
- 管理権限。組織名の変更など、管理操作へのアクセスを設定できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。