GetMattered vs Google Slides MCP
A side-by-side look at the GetMattered and Google Slides MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose GetMattered for workplace & productivity work over a hosted endpoint; choose Google Slides MCP for workplace & productivity as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose GetMattered when
- You need dedicated capabilities in the Workplace & Productivity domain.
- You prefer a remote HTTP/SSE transport.
- You want tools like
getmattered_get_matches, getmattered_apply, getmattered_get_applications.
Choose Google Slides MCP when
- You need dedicated capabilities in the Workplace & Productivity domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: OAuth 2.0.
- You want tools like
auth_status, setup_instructions, set_client.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Workplace & Productivity | Workplace & Productivity |
| Quality signal | 74/100 · Great | 63/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Remote HTTP/SSE | Local subprocess (stdio) |
| Auth | Not declared | OAuth 2.0 |
| Pricing | Not declared | Free |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 4 | 1 |
| Directory activity | 4 views 0 installs 1 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 40 | 32 |
| Full listing | View GetMattered | View Google Slides MCP |
Tools & capabilities
GetMattered tools 40
getmattered_get_matchesStart here. List the user's matched jobs, best fit first and mixed across companies, so scores do not fall in strict order. Or read full postings by job_match_ids or job_url. On a new account, follow nextStep. Changes nothing and spends nothing.getmattered_applyApply to one job by job_match_id or job_url, on the employer's own hiring system. mode "auto" submits, "review" holds for approval, and no mode follows the account setting. A sent application cannot be withdrawn. Confirm first unless the user asked.getmattered_get_applicationsList the user's applications and where each stands, or read one by application_id. status "waiting_for_review" is the review queue. employerConfirmed is the only proof an application landed. Changes nothing.getmattered_approve_applicationsSubmit waiting applications to their employers under the user's name. Spends one application each. It cannot be undone. Use only on the user's explicit yes to those applications.getmattered_get_accountRead the signed-in user's account id, display name and sign-in email, plan, token balance, applications left, job preferences and readiness: whether a resume is on file and which form answers are missing. Changes nothing.getmattered_get_profileRead which account this connection is signed in as. Use it to tell connected accounts apart. Changes nothing.getmattered_reject_applicationsSkip applications waiting for review. Nothing is sent and nothing is spent. Use only for applications the user said no to.getmattered_cancel_applicationsStop applications that are queued, being prepared or waiting for review, so they are never submitted. A submitted application cannot be cancelled. Use only when the user asks.getmattered_refine_application_documentsRewrite the tailored resume or cover letter of unsent applications from the user's own words. Nothing is sent. Uses AI credits.getmattered_reprepare_applicationsBuild the documents and form answers of applications again. Nothing is sent. Uses AI credits.getmattered_set_application_stageRecord a stage the user reports on their own tracker. Nothing is sent to the employer.getmattered_set_resumeSet the base resume every application is tailored from, from exactly one source. A new upload uses AI tokens; a saved document does not. A local file path is not a URL. In ChatGPT the user can attach a resume file; pass it as resume_file. It replaces the user's current base resume (the old one stays in their documents), so call it only when the user wants this resume used.- +28 more on the listing page
Google Slides MCP tools 32
auth_statusShows whether this server is connected to Google: token presence and source (env variables or a stored in-chat login), expiry, the Google account email, granted vs missing OAuth scopes, where the credentials file lives and where the OAuth client comes from. Makes no network calls and never returns the token itself. Call it first when other tools report the server is not connected.setup_instructionsStep-by-step checklist for connecting this server to Google: creating a Google Cloud project and a Desktop-app OAuth client, publishing the consent screen (mandatory — Testing-mode refresh tokens die after 7 days), downloading the client JSON and handing its PATH to set_client. Works without any credentials; the checklist shortens to 'enable the API + log in' when an OAuth client is already configured (one client serves the whole mcp-google-* line). Never asks the user to paste secrets into the chat.set_clientSaves the OAuth client credentials from the JSON file downloaded from Google Cloud Console ('Download JSON' on a Desktop-app client). Pass the file PATH — the secret must never be pasted into the chat. The client is stored once in the shared ~/.config/mcp-google-auth/client.json (owner-only) and reused by every mcp-google-* server; tokens stay per-server. After this, call start_login.start_loginFirst step of connecting from the chat, without editing config files or restarting the client. Returns authorizeUrl — show it to the user as a clickable link and ask them to open it in the browser ON THIS MACHINE, pick the Google account and approve access. A one-shot listener on 127.0.0.1 catches Google's redirect; the code is exchanged locally and never passes through the chat. Does not open the browser itself. The attempt lives 10 minutes; when the browser shows the success page, call finish_login.finish_loginSecond step: waits up to 20 s for the browser consent to finish, saves the tokens to an owner-only file and verifies the login with a read-only identity call, returning the account email and the granted scopes. After success every tool works immediately — no client restart. If the user granted only part of the requested permissions, the login is still saved and missingScopes lists what will not work. Logging in under a different Google account replaces the previous login (its refresh token is revoked best-effort) and the response carries previousAccountEmail so the change never goes unnoticed.logoutRevokes the stored token at Google (oauth2.googleapis.com/revoke) and deletes the local credentials file. Tokens supplied via env variables are NOT touched — remove them from the MCP client config manually; envTokenStillSet in the response says whether any are still in effect.create_presentationCreates a new Google Slides presentation and returns it (presentationId, revisionId, pageSize, the initial title slide with its object ids, layouts and masters). The API honors only the title at creation — add slides with add_slide, content with the text/shape/table/image tools. The new deck starts with one title slide and belongs to the authorized user's Drive. Note: this server cannot delete a presentation; removing the file is a Drive operation outside its scope.get_presentationReturns the raw presentation JSON: slides[] with every page element (shapes, text runs, tables, images), layouts[], masters[], notesMaster, pageSize (EMU: 1 pt = 12700 EMU) and revisionId. WARNING: a full deck is often hundreds of kilobytes — prefer list_slides for an inventory, and pass fields (a Google fields mask, e.g. "slides(objectId,pageElements(objectId,shape(text)))") to trim this response when you need raw detail.list_slidesCompact inventory of the deck — the read to start from: presentationId, title, revisionId, pageSizePt, slideCount and per slide its 0-based index, objectId, layoutObjectId, speakerNotesObjectId and elements[] with each element's objectId, type (shape type / table RxC / image / video / line / group), placeholder role and visible text (truncated to 160 chars). All mutation tools address these object ids, so call this before editing; per-element geometry and full text need get_presentation or get_page.get_pageReturns one page in full by its object id — works for slides, layouts, masters and notes pages alike. For a slide the response includes slideProperties.notesPage (the speaker-notes page) and every pageElement with its size, transform (EMU: 1 pt = 12700 EMU) and complete text. Use it when list_slides' summary is not enough for one page but the whole deck via get_presentation would be too much.batch_updateSends raw Slides API batchUpdate requests for anything the typed tools don't cover: updateShapeProperties (fill, outline, shadow), updatePageProperties (slide background), updateParagraphStyle, createParagraphBullets, updateTableCellProperties, mergeTableCells, createVideo, createLine, groupObjects, updateSlideProperties and the rest of the request union. requests is the API's requests[] array verbatim, e.g. [{"updateShapeProperties":{"objectId":"...","shapeProperties":{...},"fields":"shapeFill"}}]. The batch is atomic: one invalid request rejects the whole batch and nothing is applied. Lengths/coordinates take {"magnitude":N,"unit":"PT"}; wire enums are UPPER_CASE.add_slideAdds a slide (batchUpdate createSlide) and returns the new slide's objectId in the reply. Pick the look with either predefined_layout (BLANK, TITLE, TITLE_AND_BODY, SECTION_HEADER, ...) or layout_object_id from list_layouts — not both; with neither the slide copies the layout of the current last slide. insertion_index is the 0-based position (omitted = append at the end). Placeholders inherited from the layout arrive empty — find their object ids via list_slides, then fill them with set_text.- +20 more on the listing page
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
GetMattered
{
"mcpServers": {
"getmattered": {
"command": "npx",
"args": [
"-y",
"getmattered-mcp"
]
}
}
}
Google Slides MCP
{
"mcpServers": {
"google-slides-mcp": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-slides@latest"
]
}
}
}
Frequently asked questions
GetMattered is categorized under Workplace & Productivity and uses a remote HTTP/SSE transport. Google Slides MCP belongs to Workplace & Productivity and uses a local stdio subprocess. Pick GetMattered for workplace & productivity work and Google Slides MCP for workplace & productivity.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
GetMattered has no declared pricing — check the project's own site. Google Slides MCP is listed as free. Auth: oauth 2.0. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add getmattered and google-slides-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, GetMattered has a quality signal of 74/100 (Great) with 4 views, 0 installs and 4 GitHub stars. Google Slides MCP has 63/100 (Good) with 0 views, 0 installs and 1 GitHub stars.