MCP Hub
Back to servers

edstem-mcp

Exposes the full Ed Discussion API to MCP clients, enabling users to manage threads, comments, and course activity through natural language. It provides comprehensive tools for searching and posting content, featuring automatic conversion from markdown to Ed's internal XML format.

glama
Updated
Mar 15, 2026

edstem-mcp

MCP server for Ed Discussion — expose Ed's full API to Claude and other MCP clients.

Setup

npm install
npm run build

Set your API token (get one at https://edstem.org/us/settings/api-tokens):

export ED_API_TOKEN=your_token
export ED_REGION=us  # optional: us (default), au, etc.

Claude Code

Add to ~/.claude.json:

{
  "mcpServers": {
    "edstem": {
      "command": "node",
      "args": ["/path/to/edstem-mcp/dist/index.js"],
      "env": {
        "ED_API_TOKEN": "your_token"
      }
    }
  }
}

Tools (22)

ToolDescription
get_userGet authenticated user info and enrolled courses
list_threadsList threads in a course (sortable, paginated)
get_threadGet thread by global ID with comments
get_course_threadGet thread by course-local number (the # in the UI)
search_threadsSearch threads by title, content, or category
post_threadCreate a new thread (supports markdown input)
edit_threadEdit an existing thread
lock_threadLock a thread
unlock_threadUnlock a thread
pin_threadPin a thread
unpin_threadUnpin a thread
endorse_threadEndorse a thread
unendorse_threadRemove thread endorsement
star_threadStar/bookmark a thread
unstar_threadRemove star
post_commentPost a comment or answer on a thread
reply_to_commentReply to an existing comment
endorse_commentEndorse a comment
unendorse_commentRemove comment endorsement
accept_answerAccept a comment as the answer
list_usersList course roster (staff/admin)
list_user_activityList a user's threads and comments
upload_file_from_urlUpload a file to Ed from a URL
format_contentPreview markdown to Ed XML conversion

Resources (2)

ResourceURIDescription
User Infoedstem://userAuthenticated user details
Coursesedstem://coursesEnrolled courses list

Prompts (3)

PromptDescription
check_assignmentLook up assignment details, requirements, and staff clarifications
unanswered_questionsList unresolved questions in a course
my_activityShow your recent posts and comments in a course

Content Format

Thread and comment content uses Ed's XML document format. This server auto-converts markdown to Ed XML, so you can write content naturally:

# Heading
**Bold** and *italic* text with `inline code`

- Bullet list
- Items

1. Numbered
2. List

> [!info] This becomes an Ed callout

Pass raw Ed XML (starting with <document) to bypass conversion.

Testing

npm test

Uses Node's built-in test runner (node:test). Tests cover the markdown-to-XML content converter and API client (URL construction, headers, error handling).

Reviews

No reviews yet

Sign in to write a review