@chrischall/concur-mcp

MCPattested
v0.3.3Claude CodeMITUpdated 2d agonpmGitHub

Unofficial SAP Concur MCP server for Claude — expense reports, expenses, receipts and trips — developed and maintained by AI (Claude Code)

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Attested build
A verified provenance attestation binds this artifact to the listed repository. Nobody has claimed the listing yet — this proves where the code was built, not who stands behind it.
666Downloads/wk
2d agoLast update
Package
AuthorClaude Code
LicenseMIT
Version0.3.3
Sourcenpm+mcp-registry
Trust Status
A
85/100Trusted
✓Listed in Forge index+10/10
✓Identity verified · attested build+20/20
—Ed25519 publish signature+0/5
→ Included automatically when the publisher runs `forge publish`
—Domain verification+0/5
→ Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
✓npm Trusted Publishing (Sigstore)+5/5
—npm maintainer match+0/5
→ Publisher: add the verified GitHub login to the npm package's maintainers (npm owner add <login>)
✓CVE scan · clean+30/30
✓Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusIdentity verified
PublisherUnverified
SignatureUnsigned
Domain—
Provenance✓ Sigstore-verified · 987b0c2
Dependencies✓ 8 resolved · none vulnerable
Tool surface37 tools · 6 privileged
Security scan✓ Cleanv0.3.3 · todayHow well does this scan work?
EvalsNone
IndexedOct 10, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

37 tools · 6 privileged
Statically extracted from the published packagev0.3.3 · 15h ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

concur_search_attendeesSearch the SAP Concur attendee directory (colleagues and saved business guests) by name or email text, as

Search the SAP Concur attendee directory (colleagues and saved business guests) by name or email text, as

No input schema was published for this tool.

concur_set_attendeesSet the attendees on an expense in an unsubmitted SAP Concur report (e.g. a group meal). This REPLACES the

Set the attendees on an expense in an unsubmitted SAP Concur report (e.g. a group meal). This REPLACES the

No input schema was published for this tool.

concur_list_reportsList your SAP Concur expense reports (name, number, dates, approval and payment status, totals, approver). Filter by status (ALL, ACTIVE, UNSUBMITTED, SENT_FOR_PAYMENT) and an optional report-date range; paged. Use the returned reportId with concur_get_report.

List your SAP Concur expense reports (name, number, dates, approval and payment status, totals, approver). Filter by status (ALL, ACTIVE, UNSUBMITTED, SENT_FOR_PAYMENT) and an optional report-date range; paged. Use the returned reportId with concur_get_report.

No input schema was published for this tool.

concur_get_reportGet one SAP Concur expense report: the header (status, totals, policy), every expense entry on it (date, type, vendor, payment type, amounts, receipt, flags) and its exceptions (missing fields, policy violations — `blocking` ones prevent submission).

Get one SAP Concur expense report: the header (status, totals, policy), every expense entry on it (date, type, vendor, payment type, amounts, receipt, flags) and its exceptions (missing fields, policy violations — `blocking` ones prevent submission).

No input schema was published for this tool.

concur_get_report_timelineGet an SAP Concur report's history: its timeline — the comments on it (yours and approvers') and its workflow events (submitted, approved, sent back…), grouped by day — plus its audit trail (who changed what, and when, at report and expense level).

Get an SAP Concur report's history: its timeline — the comments on it (yours and approvers') and its workflow events (submitted, approved, sent back…), grouped by day — plus its audit trail (who changed what, and when, at report and expense level).

No input schema was published for this tool.

concur_get_expenseGet one expense entry on an SAP Concur report: date, type, vendor, payment type, amounts, location, receipt, itemizations, comments, exceptions, and the expense form fields by label with their current values (list-valued fields include the list item id).

Get one expense entry on an SAP Concur report: date, type, vendor, payment type, amounts, location, receipt, itemizations, comments, exceptions, and the expense form fields by label with their current values (list-valued fields include the list item id).

No input schema was published for this tool.

concur_list_available_expensesList SAP Concur available expenses — card transactions, e-receipts, mobile/ExpenseIt captures and quick expenses that are not on any report yet. A row whose fields are empty with `missingData` set is a receipt still being read, not an error.

List SAP Concur available expenses — card transactions, e-receipts, mobile/ExpenseIt captures and quick expenses that are not on any report yet. A row whose fields are empty with `missingData` set is a receipt still being read, not an error.

No input schema was published for this tool.

concur_create_expenseAdd an expense to an unsubmitted SAP Concur report. The expense form is tenant- and type-specific: pick

Add an expense to an unsubmitted SAP Concur report. The expense form is tenant- and type-specific: pick

No input schema was published for this tool.

concur_update_expenseNo description published

This tool published no description. Forge does not invent one.

concur_delete_expensesprivilegedPermanently delete one or more expenses from an unsubmitted SAP Concur report. Card transactions return to your available expenses; manually entered expenses and their receipt attachments are gone. Cannot be undone. The preview lists each expense that will be deleted. Re-reads the report afterwards…

Permanently delete one or more expenses from an unsubmitted SAP Concur report. Card transactions return to your available expenses; manually entered expenses and their receipt attachments are gone. Cannot be undone. The preview lists each expense that will be deleted. Re-reads the report afterwards…

No input schema was published for this tool.

concur_copy_expenseDuplicate an expense on an unsubmitted SAP Concur report (same type, amount, vendor and fields; receipts are not copied as the original’s). Answers with the new copy as Concur shows it.

Duplicate an expense on an unsubmitted SAP Concur report (same type, amount, vendor and fields; receipts are not copied as the original’s). Answers with the new copy as Concur shows it.

No input schema was published for this tool.

concur_move_available_expenses_to_reportprivilegedMove available expenses (card transactions, e-receipts, mobile captures — see concur_list_available_expenses) onto an unsubmitted SAP Concur report, where they become expenses. Concur has no operation that moves them back: removing one later means deleting the expense from the report. The preview l…

Move available expenses (card transactions, e-receipts, mobile captures — see concur_list_available_expenses) onto an unsubmitted SAP Concur report, where they become expenses. Concur has no operation that moves them back: removing one later means deleting the expense from the report. The preview l…

No input schema was published for this tool.

concur_delete_available_expensesprivilegedPermanently delete available expenses (not yet on any report — see concur_list_available_expenses), e.g. duplicate mobile captures or quick expenses. Cannot be undone. The preview lists each row. Re-reads the available list afterwards to confirm.

Permanently delete available expenses (not yet on any report — see concur_list_available_expenses), e.g. duplicate mobile captures or quick expenses. Cannot be undone. The preview lists each row. Re-reads the available list afterwards to confirm.

No input schema was published for this tool.

concur_graphql_queryNo description published

This tool published no description. Forge does not invent one.

concur_graphql_mutationNo description published

This tool published no description. Forge does not invent one.

concur_list_operationsNo description published

This tool published no description. Forge does not invent one.

concur_whoamiWho the SAP Concur session belongs to: your Concur user id (UUID), the datacenter, minutes until the browser session token expires, and which Concur features your account has (travel requests, cash advances, ExpenseIt).

Who the SAP Concur session belongs to: your Concur user id (UUID), the datacenter, minutes until the browser session token expires, and which Concur features your account has (travel requests, cash advances, ExpenseIt).

No input schema was published for this tool.

concur_list_expense_typesList the expense types you can use on one SAP Concur report (its policy decides which). Returns each type's id (pass it as the expense type when creating an expense), name and group.

List the expense types you can use on one SAP Concur report (its policy decides which). Returns each type's id (pass it as the expense type when creating an expense), name and group.

No input schema was published for this tool.

concur_list_payment_typesList the SAP Concur payment types you can put on an expense (e.g. cash / out-of-pocket, company card). Returns each payment type id and name.

List the SAP Concur payment types you can put on an expense (e.g. cash / out-of-pocket, company card). Returns each payment type id and name.

No input schema was published for this tool.

concur_list_currenciesList the currencies SAP Concur accepts (ISO code and name), optionally filtered by a code or name fragment.

List the currencies SAP Concur accepts (ISO code and name), optionally filtered by a code or name fragment.

No input schema was published for this tool.

concur_search_locationsSearch SAP Concur locations by city name (optionally narrowed by country and subdivision code) — the location list expense forms use. Returns each match with its id, display name, country, subdivision and local currency.

Search SAP Concur locations by city name (optionally narrowed by country and subdivision code) — the location list expense forms use. Returns each match with its id, display name, country, subdivision and local currency.

No input schema was published for this tool.

concur_add_missing_receipt_declarationNo description published

This tool published no description. Forge does not invent one.

concur_list_available_receiptsList the receipt images in your SAP Concur receipt store — uploaded or emailed receipts not attached to any expense. Attach one with concur_attach_receipt, download it with concur_get_receipt, or delete it with concur_delete_receipt.

List the receipt images in your SAP Concur receipt store — uploaded or emailed receipts not attached to any expense. Attach one with concur_attach_receipt, download it with concur_get_receipt, or delete it with concur_delete_receipt.

No input schema was published for this tool.

concur_get_receiptDownload one SAP Concur receipt image by id (from concur_list_available_receipts, or an expense’s `receiptImageId`). Locally it is saved, never overwriting, to CONCUR_OUTPUT_DIR (else ~/Downloads/concur-mcp) and the path is returned; `inline: true` returns the image in the result instead (a PDF as…

Download one SAP Concur receipt image by id (from concur_list_available_receipts, or an expense’s `receiptImageId`). Locally it is saved, never overwriting, to CONCUR_OUTPUT_DIR (else ~/Downloads/concur-mcp) and the path is returned; `inline: true` returns the image in the result instead (a PDF as…

No input schema was published for this tool.

concur_upload_receiptprivilegedNo description published

This tool published no description. Forge does not invent one.

concur_detach_receiptTake the receipt image off an expense on an unsubmitted SAP Concur report (re-attach one with concur_attach_receipt). The preview shows the expense and the image it carries. Re-reads the expense and your available receipts afterwards and reports whether the image went back to the receipt store.

Take the receipt image off an expense on an unsubmitted SAP Concur report (re-attach one with concur_attach_receipt). The preview shows the expense and the image it carries. Re-reads the expense and your available receipts afterwards and reports whether the image went back to the receipt store.

No input schema was published for this tool.

concur_delete_receiptprivilegedPermanently delete a receipt image from your SAP Concur available receipts (see concur_list_available_receipts). Cannot be undone. Only an unattached receipt can be deleted — detach it from its expense first with concur_detach_receipt. Re-reads the receipt store afterwards to confirm.

Permanently delete a receipt image from your SAP Concur available receipts (see concur_list_available_receipts). Cannot be undone. Only an unattached receipt can be deleted — detach it from its expense first with concur_detach_receipt. Re-reads the receipt store afterwards to confirm.

No input schema was published for this tool.

concur_create_reportCreate a new (unsubmitted) SAP Concur expense report. The header form is tenant-specific: it starts from your company's defaults, then applies `name`, `reportDate` and any other fields you name by label (list fields such as a Business Purpose dropdown are resolved to their list item). The preview l…

Create a new (unsubmitted) SAP Concur expense report. The header form is tenant-specific: it starts from your company's defaults, then applies `name`, `reportDate` and any other fields you name by label (list fields such as a Business Purpose dropdown are resolved to their list item). The preview l…

No input schema was published for this tool.

concur_update_reportChange an unsubmitted SAP Concur report's header — name, date, business purpose, comment, or other header fields by label. Sends only the fields that actually change; the preview shows each one from → to. Answers with the report as Concur shows it afterwards.

Change an unsubmitted SAP Concur report's header — name, date, business purpose, comment, or other header fields by label. Sends only the fields that actually change; the preview shows each one from → to. Answers with the report as Concur shows it afterwards.

No input schema was published for this tool.

concur_delete_reportprivilegedPermanently delete an unsubmitted SAP Concur expense report AND every expense on it (the expenses first, then the report — as the web app does). Card transactions on it return to your available expenses; manually entered expenses and their receipts attachments are gone. Cannot be undone. The previe…

Permanently delete an unsubmitted SAP Concur expense report AND every expense on it (the expenses first, then the report — as the web app does). Card transactions on it return to your available expenses; manually entered expenses and their receipts attachments are gone. Cannot be undone. The previe…

No input schema was published for this tool.

concur_add_report_commentAdd a comment to an SAP Concur expense report. Comments are permanent (there is no delete) and are seen by your approvers and auditors. Confirms the comment is on the report's timeline afterwards (from Concur's answer, else by re-reading the timeline).

Add a comment to an SAP Concur expense report. Comments are permanent (there is no delete) and are seen by your approvers and auditors. Confirms the comment is on the report's timeline afterwards (from Concur's answer, else by re-reading the timeline).

No input schema was published for this tool.

concur_submit_reportNo description published

This tool published no description. Forge does not invent one.

concur_recall_reportRecall a submitted SAP Concur expense report from your approver, returning it to you unsubmitted so it can be edited and resubmitted (the inverse of concur_submit_report). Only possible before it is approved. Re-reads the report afterwards and answers with its observed status.

Recall a submitted SAP Concur expense report from your approver, returning it to you unsubmitted so it can be edited and resubmitted (the inverse of concur_submit_report). Only possible before it is approved. Re-reads the report afterwards and answers with its observed status.

No input schema was published for this tool.

concur_list_tripsNo description published

This tool published no description. Forge does not invent one.

concur_get_tripNo description published

This tool published no description. Forge does not invent one.

concur_get_trip_historyNo description published

This tool published no description. Forge does not invent one.

concur_send_itineraryNo description published

This tool published no description. Forge does not invent one.

26 of 37 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

Unofficial SAP Concur MCP server for Claude — expense reports, expenses, receipts and trips — developed and maintained by AI (Claude Code)

Keywords
mcpmodel-context-protocolclaudeconcursap-concurexpensesexpense-reportsreceiptstravel
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-10-22 — observed resolution, not a publisher declaration.

8 packages resolved · 5 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.

Topics

Related in travel & booking