Skip to main content

EssenceStudy Teacher MCP

Run an EssenceStudy course from your terminal — create assignments, attach documents, write rubrics, enrol students, read and grade submissions, publish grades, and watch token spend — through any MCP client (Claude Code, Claude Desktop, or your own agent).

Install

uv pip install -e .          # from this directory

Configure

No credentials in config files:

{
  "mcpServers": {
    "essencestudy-teacher": {
      "command": "essencestudy-teacher-mcp"
    }
  }
}

The first time you use it, run authorize_terminal. It returns a link and a short code straight away:

Open this link: https://study.essencescholar.com/?device=XXXX-XXXX Code: XXXX-XXXX

Open the link in the browser where you are already signed in to EssenceStudy, check the code matches, and press Approve. Then call finish_authorization to collect the key — it is written to ~/.essencestudy/credentials (mode 600) and reused from then on.

Two steps rather than one on purpose: a single blocking call cannot show you the code, because an MCP server's stdout is the protocol channel to the client, not your screen.

Revoke it whenever you like — from your profile in the web app, or with revoke_terminal_access. A revoked key stops working immediately.

Optional environment

  • ESSENCESTUDY_API_URL — defaults to production. Point at http://127.0.0.1:8004 for nightly; keys are stored per backend URL, so both can be authorised at once. Note nightly shares the production database, so writes there are real.
  • ESSENCESTUDY_API_KEY — supply a key directly and skip the browser step. For CI, where nobody can click Approve.

What you can say

  • "List my courses, then show me the assignments in Entrepreneurial Finance."
  • "Create a draft assignment in course 6 called 'Variance analysis', restrict the canvas to retriever and agent, and attach ~/cases/board-pack.pdf."
  • "Write a four-criterion rubric for assignment 34 weighted 30/30/25/15."
  • "Enrol these twelve students and tell me which ones were newly created."
  • "Who hasn't started assignment 34? Who is graded but not published?"
  • "Publish all graded submissions for assignment 34."
  • "What did assignment 34 cost, and which student used the most tokens?"

Two things worth knowing

Draft vs published. create_assignment makes a draft. publish_assignment is the noisy step: it makes the assignment visible, warms its documents, and emails every enrolled student. Keep them separate deliberately.

Saved vs published grades. grade_submission saves a grade; the student sees nothing until publish_grades runs. That gap is the most common reason a student reports their work was never marked — list_submissions shows "graded, NOT published" precisely so you can spot it.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

essencestudy_teacher_mcp-0.3.0.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

essencestudy_teacher_mcp-0.3.0-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file essencestudy_teacher_mcp-0.3.0.tar.gz.

File metadata

File hashes

Hashes for essencestudy_teacher_mcp-0.3.0.tar.gz
Algorithm Hash digest
SHA256 28cd71ba63eb88c43cea5241d5b3fa840b63932816b9c3244b72da5cdd41215b
MD5 000579d3bdd3c1247e3bca2bdf237526
BLAKE2b-256 82cc372422ffaf5838c055cd2557adb8be9e30367dad8f121bfa81c728f813be

See more details on using hashes here.

File details

Details for the file essencestudy_teacher_mcp-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for essencestudy_teacher_mcp-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 79935ddd146f7c5b4cfc9237540f01e1e17a8427b9810b87969a2a5e7bc3d66a
MD5 d2da6ce2c17d0a7f9a11388078b8e4f9
BLAKE2b-256 bff88713d0c61fabebd42b6476075c994a75d2eddf30e7a341cdb2faf4698e5a

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.2

2 files

0.3.1

2 files

This release

0.3.0 This release

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page