Skip to content
ink-wafflePublic

About

MCP server for any A+ (apluslms) course platform: courses, deadlines, exercises, submissions, and material

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

@ink-waffle/aplus-mcp

Use A+ / PLUSSA from an MCP client: courses, deadlines, points, exercises, submissions, feedback, announcements, course material, and downloads. aplus_submit is the only write tool.

Install

Configure this MCP in your MCP client (Claude Code, Windsurf, Cursor, Zed, OpenCode, or any other MCP-capable editor/agent):

mcp add aplus -- npx -y @ink-waffle/aplus-mcp

(Assuming mcp is your client's MCP client management CLI — adjust for your editor.)

Ask your agent to run aplus_connect with your A+ site, for example plus2.tuni.fi. Log in if asked; the server stores the API token locally for later calls.

Tools

tool use it for
aplus_connect, aplus_status, aplus_disconnect connect and manage sites
aplus_courses, aplus_course list courses and see their full structure
aplus_deadlines, aplus_points see due work and grades
aplus_exercise, aplus_submission inspect an exercise or submission
aplus_material read course pages as Markdown
aplus_news read announcements
aplus_download download a course file
aplus_submit submit answers or files
aplus_call make a read-only raw API request

Shared browser

This MCP is designed to run beside @ink-waffle/moodle-mcp and @ink-waffle/sisu-mcp. All three use the sibling @ink-waffle/study-browser package when browser access is needed.

By default it creates and reuses one isolated Chrome profile:

~/.chrome-profiles-mcp/study-automation-profile

It starts Chrome with a local CDP endpoint when necessary. Sibling MCP processes reuse that browser instead of starting conflicting copies. The browser stays open until you close it.

Works on macOS, Windows, and Linux.

Alternative setups

One HTTP server, many clients

# Run as a persistent service (systemd, Windows Service, launchd, etc.):
npx -y @ink-waffle/aplus-mcp --port 8934
# Then configure your MCP client to connect via HTTP:
mcp add --transport http aplus http://127.0.0.1:8934/mcp

Your own Chrome

npx -y @ink-waffle/aplus-mcp --cdp http://127.0.0.1:9222

The MCP only attaches to an explicit CDP endpoint; it never starts or closes that browser. Use APLUS_MCP_CDP instead of --cdp with a service manager.

Local data

Tokens and cached data live in ~/.aplus-mcp/. Treat config.json as a password file. Downloads go to ~/.aplus-mcp/files/ unless you pass dest.

About

MCP server for any A+ (apluslms) course platform: courses, deadlines, exercises, submissions, and material

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages