mcpField
P
Practera MCP Server

Practera MCP Server

リモート
github.com/intersective科学・教育222 週間前に更新
リポジトリ

Practera MCP Server について

Practera MCP Serverは、PracteraのGraphQL APIとローカルのプロジェクトブリーフデータを通じて、AIエージェントによる学習プロジェクト操作やリポジトリ横断のテスト実行を可能にします。管理者、学習者、レビュアー、開発者向けに、作成から提出・レビューまでを支援します。

主な機能

  1. 01学習コンテンツの作成と管理
  2. 02プロジェクト構成のインポートとエクスポート
  3. 03アセスメントの提出とフィードバック確認
  4. 04保留中レビューの管理
  5. 05スキル別のプロジェクトブリーフ検索
  6. 06複数リポジトリでのテスト実行

活用シーン

  1. 01既存プロジェクトを別の対象者向けに調整
  2. 02アセスメントの作成と設問の追加
  3. 03学習者の課題提出やレビューの送信
  4. 04Cursorからリポジトリのテストを実行

MCP 対応

stdioまたはSSE経由でMCPクライアントにPracteraのツール、リソース、プロンプトを提供し、GraphQL APIとローカルのプロジェクトブリーフカタログに接続します。

設定

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

エンドポイントhttps://your-lambda-url.lambda-url.us-east-1.on.aws/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 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

Practera MCP サーバー

AI エージェントが Practera の GraphQL API とローカルのプロジェクト概要データに直接アクセスできる MCP(Model Context Protocol)サーバーです。Cursor、Claude Desktop、または任意の MCP クライアントを接続して、学習プログラムの作成、アセスメントの管理、学習者としての課題提出、レビューの実施、Practera モノレポ全体でのテストスイートの実行ができます。

Practera MCP を使う理由

この MCP サーバーを使うと、エージェントは次のことができます。

  • 既存のプロジェクトを分析し、対象者や学年に合わせて再構成する
  • アセスメントの設計案を作成し、質問を自動生成する
  • 教育機関や LMS のデータ形式をまたいでプログラムをインポート/エクスポートする
  • アセスメントを提出し、レビューのワークフローを管理する
  • スキルを指定して、5,400 件以上の体験学習プロジェクト概要のライブラリを検索する
  • Cursor から Practera の全リポジトリでテストスイートを実行する

クイックスタート(Cursor — ローカル開発)

  1. このリポジトリを他の Practera リポジトリと並べてクローンします。
  2. 依存関係をインストールします:npm install
  3. Practera の任意のリポジトリに .cursor/mcp.json を追加します(Cursor の設定を参照)。
  4. Cursor の MCP パネルを再読み込みすると、practera サーバーが表示されます。

別途サーバープロセスを起動する必要はありません。Cursor が stdio 経由で MCP サーバーを自動的に起動します。

トランスポート

stdio(Cursor ローカル — 推奨)

Cursor がサブプロセスとしてサーバーを起動します。別途 npm run dev を実行する必要はありません。

# For manual testing / debugging
npm run dev:stdio
SSE(リモート/共有)

複数のクライアントで 1 つのインスタンスを共有する場合に使用する、Server-Sent Events 対応の HTTP サーバーです。

npm run dev        # → http://localhost:3000/sse

MCP クライアントを http://localhost:3000/sse に接続します。

Cursor の設定

リポジトリに .cursor/mcp.json を作成します(または、すべてのワークスペースに適用する場合は ~/.cursor/mcp.json に追加します)。

{
  "mcpServers": {
    "practera": {
      "command": "node",
      "args": [
        "/absolute/path/to/practera-mcp-server/dist/stdio.js"
      ],
      "env": {
        "PRACTERA_REGION": "local",
        "AUTH_EMAIL": "[email protected]",
        "GRAPHQL_URL": "http://localhost:8000",
        "WORKSPACE_ROOT": "/absolute/path/to/practera-workspace"
      }
    }
  }
}

ソースを変更した後は、practera-mcp-server で npm run build を実行し、dist/stdio.js を再ビルドしてください。

本番リージョンでは、AUTH_EMAIL/GRAPHQL_URL を省略し、各ツール呼び出しで apikey を渡してください。

認証

API キー(本番)

各ツール呼び出しで apikey を渡します。キーは apikey HTTP ヘッダーとして GraphQL API に転送されます。

devLogin(ローカル/ステージングのみ)

apikey を省略し、AUTH_EMAIL を設定します(または各ツール呼び出しで email を渡します)。サーバーは devLogin GraphQL ミューテーションを呼び出し、JWT を自動的に取得します。region=local または region=stage の場合にのみ機能します。

利用可能なツール

汎用/読み取り専用
ツール説明
mcp_practera_get_projectマイルストーン、アクティビティ、タスクを含むプロジェクト全体のツリー
mcp_practera_get_assessment質問と回答の選択肢を含むアセスメントの詳細
mcp_practera_search_project_briefsスキルのキーワードでローカルのプロジェクト概要カタログを検索
作成(管理者/コーディネーターのロールが必要)
ツールGraphQL オペレーション説明
create_experiencecreateExperience教育機関内に新しいプログラムを作成
create_milestonecreateMilestoneエクスペリエンスにマイルストーンを追加
create_activitycreateActivityマイルストーンにアクティビティを追加
create_assessmentcreateAssessmentアクティビティにアセスメントを作成
add_questioncreateAssessmentQuestionアセスメントに質問を追加
add_task_to_activityaddTaskToActivityアクティビティにタスク(リソース/リンク)を追加
enroll_userenrollUserユーザーをエクスペリエンスに登録
import_experienceimportExperienceDataJSON エクスポートからエクスペリエンスのコンテンツを一括インポート
export_experienceexportExperienceエクスペリエンスの構造を JSON としてエクスポート
学生(学習者)
ツールGraphQL オペレーション説明
list_experiencesexperiences現在のユーザーのすべてのエクスペリエンスを一覧表示
get_milestonesproject.milestonesプロジェクトのマイルストーンとアクティビティを取得
get_taskstasks(activityId:)アクティビティのタスクを取得
submit_assessmentsubmitAssessmentアセスメントを提出
get_feedbacksubmission(id:)レビューのフィードバックを含む提出内容の詳細を取得
レビュー担当者
ツールGraphQL オペレーション説明
list_pending_reviewsreviews(status: "pending")レビュー待ちの評価を一覧表示します
submit_reviewsubmitReview完了したレビューを送信します
テスト
ツール説明
run_tests任意の Practera リポジトリでテストスイートを実行します — npm/cargo/docker をシェルから呼び出します
run_tests のパラメーター
パラメーター必須説明
repoはい対象リポジトリ:core-graphql-api、login-api、app-v2、practera、practera-mcp-server、practera-devops-center
suiteはい対象のスイート(下の表を参照)
patternいいえテストファイル/名前のフィルター(Jest の対象では --testPathPattern として渡されます)
workspaceRootいいえワークスペースルートの絶対パス。設定されていない場合は WORKSPACE_ROOT 環境変数を使用します。
利用可能なテストスイート
リポジトリスイートコマンド
core-graphql-apiunitnpm test(Jest、カバレッジ付き)
core-graphql-apiintegrationnpm run test:integration
core-graphql-apiparitynpm run test:parity
login-apiunitnpx vitest run tests/unit
login-apiintegrationnpx vitest run tests/integration
login-apifullnpm run test:coverage
app-v2unitnpm test -- --watch=false
practeraphpunitdocker exec practera-core ./vendor/bin/phpunit
practera-mcp-servertypechecknpm run typecheck
practera-devops-centercargocargo test

MCP リソース

リソース URI説明
practera://project/current現在のプロジェクトデータ(GraphQL)
practera://assessments/{assessmentId}ID で指定した評価
practera://briefs/{briefId}ローカルカタログのプロジェクト概要

MCP プロンプト

プロンプト目的
project-analysisプロジェクトの構造と学習設計の品質を分析します
assessment-analysis評価の構造と質問の品質を評価します
skill-brief-selectionカタログからスキルに合致する概要を検索します
complex-brief-finderスキル、複雑さ、期間に基づいて概要を照合します

環境変数

変数説明
PORTHTTP ポート(デフォルトは開発環境で 3000、本番環境で 80)
NODE_ENV環境(development、production)
GRAPHQL_URLローカルの GraphQL エンドポイントを上書きします
PRACTERA_REGIONデフォルトのリージョン:local、stage、usa、aus、euk
AUTH_EMAILdevLogin のデフォルトメールアドレス(local/stage)
WORKSPACE_ROOTワークスペースルートの絶対パス — run_tests で使用します

GraphQL リージョン

リージョンエンドポイント
localhttp://localhost:8000(または GRAPHQL_URL)
stagehttps://core-graphql-api.p2-stage.practera.com/
usahttps://core-graphql-api.usa.practera.com/
aushttps://core-graphql-api.aus.practera.com/
eukhttps://core-graphql-api.euk.practera.com/

ビルドとデプロイ

# Build
npm run build       # compiles TS + copies src/data → dist/

# Run SSE server (compiled)
npm start

# Run stdio (compiled — use in production Cursor config)
npm run start:stdio
AWS App Runner

apprunner.yaml は、ポート 80 で SSE サーバーを実行する App Runner サービスを設定します。

AWS Lambda(古い設定)

serverless.yml は存在しますが、Lambda ハンドラーのエクスポートは現在接続されていません。本番環境へのデプロイには App Runner を使用してください。

ロードマップ

  • GraphQL の読み取りアクセス(プロジェクト、評価)
  • 作成者向け CRUD ツール(エクスペリエンス、マイルストーン、アクティビティ、評価、質問、タスクの作成、登録)
  • エクスペリエンス JSON のインポート/エクスポート
  • 学生向けツール(一覧表示、提出、フィードバック)
  • レビュアー向けツール(保留中の項目の一覧表示、レビューの提出)
  • プロジェクト概要の検索(5,400 件以上の概要、スキルベース)
  • Cursor 連携用の stdio トランスポート
  • リポジトリをまたいだテスト実行用の run_tests ツール
  • Metrics API(calculateMetrics から LLM が読み取り可能なレポートを生成)
  • OAuth 2.1(現在は骨組みのみで、無効)
  • MCP リソースに認証コンテキストを引き継ぐ
  • レビューワークフロー管理用の assign_reviewer、handle_review ツール
  • メディアアセットの生成

ライセンス

MIT

コメント

MCP は初めてですか?

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

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