An MCP (Model Context Protocol) server that provides access to Practera's GraphQL API, allowing AI models to query Practera learning data.
With this MCP server, you can use LLMs to analyze Practera projects and assessments. For now, this is only available to learning designers (author users).
Here are some examples of how you can use this MCP server:
- Analyze the structure of a project and look for how it can be extended, compressed.
- Restructure the project for different grade levels or different audiences.
- Evaluate the assessments in the project and look for how they can be improved.
- Generate project blueprints and templates.
- Generate assessments and questions
- Create a common cartridge version of a project, or import projects from other LMS data files.
[ ] Support metrics API for generating LLM reports [ ] Support OAuth 2.1 for secure access [ ] Support dynamic creation of assessments, milestones, activities, tasks [ ] Support generation of media assets [ ] Dynamic resource/tool/prompt selection based on project context
- Server-Sent Events (SSE) transport for MCP
- AWS Lambda deployment support
- GraphQL integration with Practera API
- Region-specific endpoints
- API key authentication
- OAuth 2.1 support for secure access
- Node.js 18+
- npm
- AWS account (for deployment)
- Practera API key
- OAuth client credentials (for OAuth authentication)
- Clone this repository
- Install dependencies:
npm install
- Start the server in development mode:
npm run dev
- The server will be available at
http://localhost:3000/sse
- OAuth endpoints will be accessible at
http://localhost:3000/oauth/*
To build the project for deployment:
npm run build
- Make sure you have AWS CLI installed and configured.
- Set up your OAuth configuration parameters:
export PRACTERA_CLIENT_ID=your_client_id export REDIRECT_URI=your_redirect_uri export ISSUER_URL=your_issuer_url export BASE_URL=your_base_url
- Deploy using the Serverless Framework:
npm run deploy -- --param="practeraClientId=$PRACTERA_CLIENT_ID" --param="redirectUri=$REDIRECT_URI" --param="issuerUrl=$ISSUER_URL" --param="baseUrl=$BASE_URL"
For simple integration, you can use API key authentication by providing:
apikey
parameter in each tool callregion
parameter to specify the Practera region
The server also supports OAuth 2.1 for secure authentication flows:
- Redirect users to
/oauth/authorize
for authorization - Exchange authorization code for access token at
/oauth/token
- Access the MCP server endpoints using the bearer token
- Revoke tokens if needed at
/oauth/revoke
This server exposes the following MCP tools:
mcp_practera_get_project
- Get details about a Practera projectmcp_practera_get_assessment
- Get details about a Practera assessment
When connecting to this MCP server from an MCP client, you'll need to provide:
- API key for Practera authentication (if using API key auth)
- Region for the Practera API (usa, aus, euk or p2-stage)
- OAuth configuration (if using OAuth authentication)
{
"practera": {
"url": "https://your-lambda-url.lambda-url.us-east-1.on.aws/mcp"
}
}
You can ask Claude to interact with Practera data using the MCP tools:
Please use the MCP tools to get information about project 123 from Practera.
Claude would then use the mcp_practera_get_project
tool, providing the API key and region from the configuration.
MIT License