Skip to main content
Glama

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)

Tool

Description

get_user

Get authenticated user info and enrolled courses

list_threads

List threads in a course (sortable, paginated)

get_thread

Get thread by global ID with comments

get_course_thread

Get thread by course-local number (the # in the UI)

search_threads

Search threads by title, content, or category

post_thread

Create a new thread (supports markdown input)

edit_thread

Edit an existing thread

lock_thread

Lock a thread

unlock_thread

Unlock a thread

pin_thread

Pin a thread

unpin_thread

Unpin a thread

endorse_thread

Endorse a thread

unendorse_thread

Remove thread endorsement

star_thread

Star/bookmark a thread

unstar_thread

Remove star

post_comment

Post a comment or answer on a thread

reply_to_comment

Reply to an existing comment

endorse_comment

Endorse a comment

unendorse_comment

Remove comment endorsement

accept_answer

Accept a comment as the answer

list_users

List course roster (staff/admin)

list_user_activity

List a user's threads and comments

upload_file_from_url

Upload a file to Ed from a URL

format_content

Preview markdown to Ed XML conversion

Resources (2)

Resource

URI

Description

User Info

edstem://user

Authenticated user details

Courses

edstem://courses

Enrolled courses list

Prompts (3)

Prompt

Description

check_assignment

Look up assignment details, requirements, and staff clarifications

unanswered_questions

List unresolved questions in a course

my_activity

Show 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).

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/rob-9/edstem-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server