Skip to content

Add plugin files: MCP connector, spend-brief and flux-analysis skills - #1

Open
marcaaron wants to merge 3 commits into
mainfrom
add-plugin-files
Open

Add plugin files: MCP connector, spend-brief and flux-analysis skills#1
marcaaron wants to merge 3 commits into
mainfrom
add-plugin-files

Conversation

@marcaaron

@marcaaron marcaaron commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Initial plugin files for the Expensify Claude integration. Part of the Anthropic Small Business launch on Sep 15.

What's in here:

  • .mcp.json wiring up the Expensify MCP server at expensify.com/mcp
  • plugin.json with name, description, author info
  • Two skills: /spend-brief and /flux-analysis

/spend-brief runs a few searches (by category, person, vendor) and writes a plain-English summary of spending for a period, with anomaly flags and next steps. /flux-analysis uses the fluxPeriod filter to compare two periods and surface the biggest movers by category and vendor.

Keeping the skill count small for now since Anthropic asked us to start focused. We can add more later.

QA Steps

  1. Check out this branch locally and zip it: cd expensify-plugin && zip -r expensify-plugin.zip . Adding the marketplace by repo URL won't work pre-merge since it always pulls from main, so the zip is the only way to test this branch directly.
  2. In Claude Cowork, go to Customize → Plugins → Add plugin → Upload plugin, and select the zip. Sign in to an Expensify account with some expense history when prompted. Expect the plugin to install without errors and the Expensify connector to show as authorized.
  3. Run /expensify:spend-brief for a period with known expenses (e.g. "last month"). Expect Claude to call GetCurrentUser, GetWorkspaceList, and multiple Search calls, then return a brief with headline totals, category/person/vendor breakdowns, an anomalies section, next steps, and a working link back to the search in Expensify.
  4. Cross-check the headline total and category breakdown against the same period in the Expensify web app. Expect the numbers to match.
  5. Run /expensify:flux-analysis comparing two periods with different spending levels (e.g. "this month vs last month"). Expect Claude to use the fluxPeriod filter, surface the biggest increases/decreases by category and vendor, and give a plain-English explanation of the variance.
  6. Run both skills again on a workspace or period with no expenses. Expect Claude to say so clearly rather than erroring or returning an empty/confusing response.
  7. Run claude plugin validate against the repo. Expect it to pass with no errors.
  8. Once merged, add Expensify/expensify-plugin as a marketplace (Customize → Plugins → Add marketplace) and confirm it installs the same way.

@marcaaron
marcaaron requested a review from NickTooker September 2, 2026 22:09
@marcaaron marcaaron self-assigned this Sep 2, 2026
@marcaaron

marcaaron commented Sep 2, 2026

Copy link
Copy Markdown
Contributor Author

Just kicking something off here. Curious for more thoughts on what else to include.

And also quick reminder that this is a public repo.

"version": "1.0.0",
"author": {
"name": "Expensify",
"email": "contributors@expensify.com"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"email": "contributors@expensify.com"
"email": "concierge@expensify.com"

"name": "Expensify",
"email": "contributors@expensify.com"
},
"homepage": "https://use.expensify.com",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"homepage": "https://use.expensify.com",
"homepage": "https://expensify.com",

},
"homepage": "https://use.expensify.com",
"repository": "https://github.com/Expensify/expensify-plugin",
"license": "MIT",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add MIT LICENSE.md to this repo?

name: flux-analysis
description: Compare spending across two periods to identify what changed and why, surfacing the biggest movers by category and vendor with a plain-English explanation.
triggers:
- /expensify:flux-analysis

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is scoping like this best practice? I don't think i've ever seen this before. Should we also consider other trigger words that aren't / led? Do people use skills like this in Claude desktop?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or is that covered by the "when to use" section?

Comment thread README.md
@@ -1,3 +1,47 @@
# Expensify Plugin for Claude

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed yesterday a lot of companies have a single plugin repo that holds all of their plugins, i.e. codex, claude, grok, etc. Should we generalize this? I think we are already headed that direction by having the claude settings in .claude-plugin. Here is stripe's for example https://github.com/stripe/ai

Comment thread README.md

## Privacy

Claude accesses only the Expensify account you authorize. Your data is scoped to your account and workspace(s) and is not shared with third parties. See [Expensify's privacy policy](https://use.expensify.com/privacy).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Claude accesses only the Expensify account you authorize. Your data is scoped to your account and workspace(s) and is not shared with third parties. See [Expensify's privacy policy](https://use.expensify.com/privacy).
Claude accesses only the Expensify account you authorize. Your data is scoped to your account and workspace(s) and is not shared with third parties. See [Expensify's privacy policy](https://www.expensify.com/privacy).

Comment thread README.md

### Install from a zip file

1. Download the latest zip from the [releases page](https://github.com/Expensify/expensify-plugin/releases) (or zip this repo yourself).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there's no release flow in this repo so unless we're going to do this manually we should either remove this or add a github action to create releases

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants