Moodle MCP Server for Vercel AI SDKGive Vercel AI SDK instant access to 12 tools to Create Courses, Create Users, Enrol Users, and more
The Vercel AI SDK is the TypeScript toolkit for building AI-powered applications. Connect Moodle through Vinkius and every tool is available as a typed function. ready for React Server Components, API routes, or any Node.js backend.
Ask AI about this App Connector for Vercel AI SDK
The Moodle app connector for Vercel AI SDK is a standout in the Productivity category — giving your AI agent 12 tools to work with, ready to go from day one.
Vinkius delivers Streamable HTTP and SSE to any MCP client
import { createMCPClient } from "@ai-sdk/mcp";
import { generateText } from "ai";
import { openai } from "@ai-sdk/openai";
async function main() {
const mcpClient = await createMCPClient({
transport: {
type: "http",
// Your Vinkius token. get it at cloud.vinkius.com
url: "https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp",
},
});
try {
const tools = await mcpClient.tools();
const { text } = await generateText({
model: openai("gpt-4o"),
tools,
prompt: "Using Moodle, list all available capabilities.",
});
console.log(text);
} finally {
await mcpClient.close();
}
}
main();
* Every MCP server runs on Vinkius-managed infrastructure inside AWS - a purpose-built runtime with per-request V8 isolates, Ed25519 signed audit chains, and sub-40ms cold starts optimized for native MCP execution. See our infrastructure
About Moodle MCP Server
Connect your Moodle instance to any AI agent and manage your learning platform through natural conversation.
The Vercel AI SDK gives every Moodle tool full TypeScript type inference, IDE autocomplete, and compile-time error checking. Connect 12 tools through Vinkius and stream results progressively to React, Svelte, or Vue components. works on Edge Functions, Cloudflare Workers, and any Node.js runtime.
What you can do
- Courses — List, create, and browse course content sections
- Users — Search, create, and manage learner profiles
- Enrolment — Enrol users into courses and view enrolled learners
- Grades — Retrieve grade items and student results per course
- Assignments — List assignments for specific courses
- Categories — Browse course organization categories
- Files — Access files attached to course modules
- Site Info — Retrieve Moodle instance metadata
The Moodle MCP Server exposes 12 tools through the Vinkius. Connect it to Vercel AI SDK in under two minutes — no API keys to rotate, no infrastructure to provision, no vendor lock-in. Your configuration, your data, your control.
All 12 Moodle tools available for Vercel AI SDK
When Vercel AI SDK connects to Moodle through Vinkius, your AI agent gets direct access to every tool listed below — spanning e-learning, course-management, student-tracking, and more. Every call is secured with network, filesystem, subprocess, and code evaluation entitlements inside a sandboxed runtime. Beyond a simple connection, you get a full AI Gateway with real-time visibility into agent activity, enterprise governance, and optimized token usage.
Requires fullname, shortname, and categoryid. Create new courses
Requires username, password, firstname, lastname, and email. Create new users in Moodle
Enrol users into a course
Get contents of a specific course
Get users enrolled in a course
Get Moodle site information
Get grades for a user in a course
List assignments for courses
List course categories
List all available courses
List files in a specific area
g., username, email) and value. Search for users in Moodle
Connect Moodle to Vercel AI SDK via MCP
Follow these steps to wire Moodle into Vercel AI SDK. The entire setup takes under two minutes — your credentials stay safe behind the Vinkius.
Install dependencies
npm install @ai-sdk/mcp ai @ai-sdk/openaiReplace the token
[YOUR_TOKEN_HERE] with your Vinkius tokenRun the script
agent.ts and run with npx tsx agent.tsExplore tools
Why Use Vercel AI SDK with the Moodle MCP Server
Vercel AI SDK provides unique advantages when paired with Moodle through the Model Context Protocol.
TypeScript-first: every MCP tool gets full type inference, IDE autocomplete, and compile-time error checking out of the box
Framework-agnostic core works with Next.js, Nuxt, SvelteKit, or any Node.js runtime. same Moodle integration everywhere
Built-in streaming UI primitives let you display Moodle tool results progressively in React, Svelte, or Vue components
Edge-compatible: the AI SDK runs on Vercel Edge Functions, Cloudflare Workers, and other edge runtimes for minimal latency
Moodle + Vercel AI SDK Use Cases
Practical scenarios where Vercel AI SDK combined with the Moodle MCP Server delivers measurable value.
AI-powered web apps: build dashboards that query Moodle in real-time and stream results to the UI with zero loading states
API backends: create serverless endpoints that orchestrate Moodle tools and return structured JSON responses to any frontend
Chatbots with tool use: embed Moodle capabilities into conversational interfaces with streaming responses and tool call visibility
Internal tools: build admin panels where team members interact with Moodle through natural language queries
Example Prompts for Moodle in Vercel AI SDK
Ready-to-use prompts you can give your Vercel AI SDK agent to start working with Moodle immediately.
"List all courses and show enrolment counts."
"Get grades for student ID 42 in the Python course."
"Create a new course 'AI Ethics' in category 1 and enrol 3 students."
Troubleshooting Moodle MCP Server with Vercel AI SDK
Common issues when connecting Moodle to Vercel AI SDK through the Vinkius, and how to resolve them.
createMCPClient is not a function
npm install @ai-sdk/mcpMoodle + Vercel AI SDK FAQ
Common questions about integrating Moodle MCP Server with Vercel AI SDK.
How does the Vercel AI SDK connect to MCP servers?
createMCPClient from @ai-sdk/mcp and pass the server URL. The SDK discovers all tools and provides typed TypeScript interfaces for each one.Can I use MCP tools in Edge Functions?
Does it support streaming tool results?
useChat and streamText that handle tool calls and display results progressively in the UI.