cmt-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@cmt-mcp what changed in my CMT submissions since I last checked?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
cmt-mcp
A read-only MCP server that lets agents look up an author's data in Microsoft CMT (cmt3.research.microsoft.com): conferences, submissions, statuses and reviews.
Unofficial. Not affiliated with or endorsed by Microsoft. It uses CMT's web API as a logged-in user; use it only with your own account and in line with CMT's terms.
Tools
Tool | Description |
| Conferences your account participates in |
| Search all CMT conferences by name / city / country / slug |
| Your submissions with status (compact: no abstract/files). Omit |
| What changed since the last |
| Full summary: authors, abstract, files, answers |
| Reviews visible to you for a submission |
conference is the URL segment, e.g. MyConf2026 in cmt3.research.microsoft.com/MyConf2026.
Change tracking (get_delta)
Submission statuses and review counts are kept in a local SQLite cache (.cache/cmt.db, override with
CMT_CACHE). get_delta fetches live data and reports only what changed since the previous get_delta
call (status_changed, new_reviews, new), then moves the baseline forward. The first call only records a
baseline. Pass acknowledge=false to peek without consuming the changes; list_submissions never consumes them.
Listings are cached for 15 min and summaries/reviews for 6 h; pass refresh=true to force a live fetch.
Read-only by design
The client sends only GET requests plus one allowlisted read-only POST (GetSummaryView); anything else
raises PermissionError. No write tools exist.
Related MCP server: msgraph-mcp
Setup
uv sync
claude mcp add cmt -e CMT_EMAIL=you@example.com -e CMT_PASSWORD=... -- uv --directory /path/to/cmt-mcp run cmt-mcpHermes Agent
uv run cmt-mcp-register hermes --dry-run # preview, password masked
uv run cmt-mcp-register hermes # prompts for email + password, writes ~/.hermes/config.yamlIt prompts for your CMT email and a hidden password (or reads CMT_EMAIL/CMT_PASSWORD if set). This adds an mcp_servers.cmt entry (backing up the old file to config.yaml.bak; YAML comments are not preserved).
Then run /reload-mcp in Hermes or start a new hermes chat, and check with hermes mcp test cmt.
Auth is a plain HTTP login (CMT_EMAIL, CMT_PASSWORD) with automatic re-login when the session expires.
The server reads credentials from its environment and never writes them itself. Registering with an MCP client stores them in that client's config (Claude Code: ~/.claude.json; Hermes: ~/.hermes/config.yaml, set to mode 600), so keep those files private. Accounts that require SSO/MFA are not supported.
Development
uv run pytestTests use an in-memory fake CMT (httpx.MockTransport), so they need no network or credentials.
tools/capture.py opens a browser (Playwright) and records XHR traffic to captures/ (git-ignored) for
discovering more endpoints. Captures contain personal data and session tokens; never commit them.
License
GPL-3.0-or-later. See LICENSE.
Available Tools
6 toolsget_deltaA
What changed since the last time get_delta was called: status changes, newly posted reviews, and newly appearing submissions. Always fetches live data. conference: optional UrlSegmentName (default: all of the user's conferences). The very first call only records a baseline and returns no changes. acknowledge=false peeks without moving the baseline forward.
Inputs: conference, acknowledge.
get_reviewsB
Reviews (and their question/answer text) visible to the author for a submission.
Inputs: conference (required), submission_id (required), refresh. Returns: result
get_submissionC
Full submission summary: authors, abstract, files, subject areas, question answers, dates.
Inputs: conference (required), submission_id (required), refresh.
list_my_conferencesB
List conferences the logged-in CMT user participates in (id, name, UrlSegmentName, dates, location).
Inputs: refresh. Returns: result
list_submissionsA
List the user's submissions with status.
conference: UrlSegmentName (e.g. 'MyConf2026'). If omitted, pulls submissions across ALL of the user's conferences. Returns a compact status overview (no abstract/files; use get_submission for those). Results are cached for 15 min; set refresh=true to force a live fetch.
Inputs: refresh, conference. Returns: result
search_conferencesB
Search ALL CMT conferences (~10k) by name, city, country or UrlSegmentName. Paged via top/skip.
Inputs: top, skip, query.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool targets a clearly distinct purpose: listing the user's conferences vs. searching all conferences, listing compact submission statuses vs. fetching full submission details, reviewing changes over time, and retrieving reviews. There is no meaningful overlap that would cause misselection.
All tool names use a consistent snake_case verb_noun pattern (list_*, search_*, get_*). The only small variation is the modifier in list_my_conferences, but it still follows the same readable convention.
Six tools is well-scoped for a focused CMT client covering conferences, submissions, reviews, and change tracking. Each tool earns its place without redundant bulk.
The surface covers core read-only author workflows: finding conferences, listing submissions, inspecting a submission, getting reviews, and tracking deltas. Minor gaps remain, such as no direct submission search or standalone conference-detail lookup, but agents can largely work around these.
Maintenance
Related MCP Connectors
Read-only access to your Citlyze workspace: AI search visibility, citations, and recommendations.
Read public research communities, attributable agent activity and discussion threads.
Read-only access to Communicate developer guides, OpenAPI summaries, and support contact.
Read email/chat conversations, messages, contacts and teams; draft, send and update threads.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides read-only access to Microsoft 365 services including SharePoint, OneDrive, Outlook, Teams, and Calendar through the Microsoft Graph API, enabling users to search, browse, and retrieve content across their M365 suite.2MIT
- AlicenseBqualityCmaintenanceEnables AI agents to access Microsoft Outlook mail and calendar, plus read-only Microsoft Teams message history, acting as the signed-in user via delegated permissions.5056 PyPI1MIT
- FlicenseCqualityCmaintenanceEnables agents to authenticate to Primavera Unifier and query REST V1/V2 APIs through read-only tools and Enterprise AI workflows for shells, business process records, project health, cost/schedule analysis, risks, documents, approvals, audits, and permissions. Write operations remain gated unless explicitly enabled.618-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to read protected computers and their check-ins, computer groups, approval requests, the unified audit log, and child organizations through a zero-trust endpoint security portal API. Every operation is read-only, with credentials supplied per request as headers and never stored.Apache 2.0