Practera MCP Server
Provides deployment support for hosting the MCP server on AWS Lambda, with serverless deployment capabilities.
Integrates with Practera's GraphQL API to allow querying learning data including projects, assessments, milestones, activities, and tasks.
Supports deployment using the Serverless Framework for deploying the MCP server to AWS Lambda.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Practera MCP Serverget details for project 456 to analyze its structure"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Practera MCP Server
An MCP (Model Context Protocol) server that gives AI agents direct access to Practera's GraphQL API and local project brief data. Connect Cursor, Claude Desktop, or any MCP client to author learning programs, manage assessments, submit work as a learner, conduct reviews, and run test suites across the Practera monorepo.
Why Practera MCP?
With this MCP server, an agent can:
Analyse and restructure existing projects for different audiences or grade levels
Generate assessment blueprints and create questions automatically
Import/export programs between institutions or LMS data formats
Submit assessments and manage review workflows
Search a library of 5400+ experiential learning project briefs by skill
Run test suites across all Practera repos directly from Cursor
Related MCP server: GraphQL MCP Toolkit
Quick Start (Cursor — local dev)
Clone this repo alongside the other Practera repos.
Install dependencies:
npm installAdd
.cursor/mcp.jsonto any Practera repo (see Cursor Configuration).Reload the Cursor MCP panel — the
practeraserver will appear.
No separate server process needed. Cursor spawns the MCP server via stdio automatically.
Transports
stdio (Cursor local — recommended)
Cursor spawns the server as a subprocess. No separate npm run dev needed.
# For manual testing / debugging
npm run dev:stdioSSE (remote / shared)
An HTTP server with Server-Sent Events — use when multiple clients share one instance.
npm run dev # → http://localhost:3000/sseConnect an MCP client to http://localhost:3000/sse.
Cursor Configuration
Create .cursor/mcp.json in your repo (or add to ~/.cursor/mcp.json for all workspaces):
{
"mcpServers": {
"practera": {
"command": "node",
"args": [
"/absolute/path/to/practera-mcp-server/dist/stdio.js"
],
"env": {
"PRACTERA_REGION": "local",
"AUTH_EMAIL": "your@email.com",
"GRAPHQL_URL": "http://localhost:8000",
"WORKSPACE_ROOT": "/absolute/path/to/practera-workspace"
}
}
}
}Run
npm run buildinpractera-mcp-serverafter any source changes to rebuilddist/stdio.js.
For production regions, omit AUTH_EMAIL/GRAPHQL_URL and pass apikey in each tool call instead.
Authentication
API Key (production)
Pass apikey in each tool call. The key is forwarded as the apikey HTTP header to the GraphQL API.
devLogin (local/stage only)
Omit apikey and set AUTH_EMAIL (or pass email per tool call). The server calls the devLogin GraphQL mutation to obtain a JWT automatically. Only works with region=local or region=stage.
Available Tools
Generic / Read-only
Tool | Description |
| Full project tree: milestones, activities, tasks |
| Assessment detail with questions and answer choices |
| Search the local brief catalog by skill keyword |
Author (admin/coordinator role required)
Tool | GraphQL Operation | Description |
|
| Create a new program inside an institution |
|
| Add a milestone to an experience |
|
| Add an activity to a milestone |
|
| Create an assessment on an activity |
|
| Add a question to an assessment |
|
| Add a task (resource/link) to an activity |
|
| Enroll a user in an experience |
|
| Bulk-import experience content from a JSON export |
|
| Export an experience structure as JSON |
Student (learner)
Tool | GraphQL Operation | Description |
|
| List all experiences for the current user |
|
| Get milestones and activities for a project |
|
| Get tasks for an activity |
|
| Submit an assessment |
|
| Get submission details including review feedback |
Reviewer
Tool | GraphQL Operation | Description |
|
| List assessments awaiting review |
|
| Submit a completed review |
Testing
Tool | Description |
| Run a test suite across any Practera repo — shells out to npm/cargo/docker |
run_tests parameters
Parameter | Required | Description |
| Yes | Which repo: |
| Yes | Which suite (see table below) |
| No | Test file/name filter (passed as |
| No | Absolute path to workspace root. Falls back to |
Available test suites
Repo | Suite | Command |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MCP Resources
Resource URI | Description |
| Current project data (GraphQL) |
| Assessment by ID |
| Project brief from local catalog |
MCP Prompts
Prompt | Purpose |
| Analyse project structure and learning design quality |
| Evaluate assessment structure and question quality |
| Find briefs matching a skill from the catalog |
| Match briefs by skill, complexity, and timeframe |
Environment Variables
Variable | Description |
| HTTP port (default 3000 dev / 80 production) |
| Environment ( |
| Override local GraphQL endpoint |
| Default region: |
| Default email for devLogin (local/stage) |
| Absolute path to workspace root — used by |
GraphQL Regions
Region | Endpoint |
|
|
|
|
|
|
|
|
|
|
Build and Deploy
# 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:stdioAWS App Runner
The apprunner.yaml configures an App Runner service running the SSE server on port 80.
AWS Lambda (stale)
serverless.yml exists but the Lambda handler export is not currently wired up. Use App Runner for production deployment.
Roadmap
GraphQL read access (project, assessment)
Author CRUD tools (create experience, milestone, activity, assessment, questions, tasks, enroll)
Import/export experience JSON
Student tools (list, submit, feedback)
Reviewer tools (list pending, submit review)
Project brief search (5400+ briefs, skill-based)
stdio transport for Cursor integration
run_tests tool for cross-repo test execution
Metrics API (generate LLM-readable reports from
calculateMetrics)OAuth 2.1 (currently scaffolded, not active)
Thread auth context through MCP Resources
assign_reviewer,handle_reviewtools for reviewer workflow managementMedia asset generation
License
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/intersective/practera-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server