Brex MCP Server
OFFICIAL SERVERBrex's hosted MCP endpoint for querying expenses, cards, banking, bills and travel in a Brex account
freee's official MCP server for calling the freee accounting, HR, invoicing and other business APIs
Official · freee TypeScript Remote (hosted) · Streamable HTTPLocal · stdio Finance and payments
80 popularity score ★ 515 ↓ 17k/wk
Opens the app, which asks before it adds the server.
https://mcp.freee.co.jp/mcpclaude mcp add --transport http freee https://mcp.freee.co.jp/mcp[mcp_servers.freee]
url = "https://mcp.freee.co.jp/mcp"Opens the app, which asks before it adds the server.
npx freee-mcp configureclaude mcp add freee -- npx freee-mcp{
"mcpServers": {
"freee": {
"command": "npx",
"args": [
"freee-mcp"
]
}
}
}{
"mcpServers": {
"freee": {
"command": "npx",
"args": [
"freee-mcp"
]
}
}
}{
"servers": {
"freee": {
"type": "stdio",
"command": "npx",
"args": [
"freee-mcp"
]
}
}
}[mcp_servers.freee]
command = "npx"
args = ["freee-mcp"]gemini mcp add --scope user freee npx -- freee-mcp| Set together: env-credentials | |
|---|---|
FREEE_CLIENT_ID |
Optional: Deprecated: app Client ID by environment instead of the config file written by configure; prints a warning. |
FREEE_CLIENT_SECRET secret |
Optional: Deprecated: app Client Secret, set together with FREEE_CLIENT_ID. |
FREEE_CALLBACK_PORT |
Optional: Port for the local OAuth callback; read only when the credentials come from the environment, must match the app's callback URL. |
| Set together: sign-credentials | |
FREEE_SIGN_CLIENT_ID |
Optional: freee Sign app Client ID, instead of the file written by freee-sign-mcp configure; needs FREEE_SIGN_CLIENT_SECRET too. |
FREEE_SIGN_CLIENT_SECRET secret |
Optional: freee Sign app Client Secret; setting only one of the pair is an error. |
freee is a Japanese cloud accounting and back-office software company, and this is its own server for the freee APIs. Instead of one tool per endpoint you get a handful of generic ones. There is a tool for each HTTP method (`freee_api_get`, `freee_api_post`, `freee_api_put`, `freee_api_patch`, `freee_api_delete`) that takes a `service` name and an API path, and `freee_api_list_paths` shows what paths exist. The path is checked against the bundled OpenAPI schema before anything goes out. The README counts 587 operations, freee Sign included, spread over twelve services: accounting, HR and payroll, invoices, time tracking, sales, IT management, fixed assets, contractor management, surveys, business launch, employee evaluation and tax returns.
A second group of tools handles sign-in and lets you list and switch between the companies (事業所) your account can see. If a request carries a `company_id`, it has to match the company currently selected or it fails.
The recommended way in is now freee's hosted endpoint at https://mcp.freee.co.jp/mcp. You add it as a custom connector in Claude, and the Claude Code and Codex plugins point at it too, bundled with freee's Agent Skills (API references and task recipes). Running the `freee-mcp` program yourself means registering your own freee app first. The same npm package also carries `freee-sign-mcp` for freee Sign electronic contracts, which for now runs only locally.
Two things in the code differ from the README. Its Sign tool table lists eight tools, but `freee-sign-mcp` registers ten: `sign_server_info` and `sign_file_upload` (which creates a Sign document from a local PDF, Word, Excel or PowerPoint file) are missing from it (src/sign/tools.ts, src/sign/file-upload-tool.ts). And the Sign sign-in listens on port 54322 by default, one above the accounting server's 54321 (src/sign/config.ts).
| To run it yourself | Node.js |
|---|---|
| Runs on | macOS, Windows, Linux |
| freee | Paid planA freee account. The survey, launch, employee evaluation and tax return APIs also need a matching plan and user rights |
The hosted endpoint needs only the freee sign-in your client opens. To run `freee-mcp` locally, register an app in the freee app store (https://app.secure.freee.co.jp/developers) with the callback URL http://127.0.0.1:54321/callback, note its Client ID and Client Secret and tick the permissions you need, then run `npx freee-mcp configure` once: it saves the credentials, signs you in through the browser and picks a company. freee Sign needs its own app and `npx --package=freee-mcp -- freee-sign-mcp configure`.
The tools are generic HTTP-method wrappers, so the assistant must know the right freee API path. freee's Agent Skills or `freee_api_list_paths` supply this. `freee_authenticate` and `freee_file_upload` exist only when it runs locally over stdio, not on the hosted endpoint. freee Sign is not offered on the hosted endpoint yet: it runs only locally, through `freee-sign-mcp`. Requests carrying a `company_id` that differs from the selected company return an error. Credentials in environment variables are deprecated and due to be removed.
It suits freee users, mostly Japanese businesses, who want an assistant to read and enter bookkeeping, invoice, HR or expense data in their own freee account. Being freee's own server, it reaches far more of the API than a narrow wrapper would. Most people should use the hosted endpoint, which needs no app registration and is the only way to reach the survey, launch and evaluation APIs. Run it locally for receipt uploads, freee Sign, or your own OAuth app. It can create, change and delete live accounting records, so anyone who only wants reporting should give the app read-only permissions. Without a freee account it is of no use.
10 only read, 11 change things, 4 can delete or overwrite. A ? marks an optional parameter.
freee_authenticate changesfreee_auth_statusfreee_clear_auth deletesfreee_set_current_company changescompany_id: stringname?: stringdescription?: stringfreee_get_current_companyfreee_list_companiesfreee_current_userfreee_server_infofreee_file_upload changesfile_path: stringcompany_id: stringdescription?: stringreceipt_metadatum_partner_name?: stringreceipt_metadatum_issue_date?: stringreceipt_metadatum_amount?: numberqualified_invoice?: enumdocument_type?: enumfreee_api_getservice: enumpath: stringquery?: objectfreee_api_post changesservice: enumpath: stringbody: objectquery?: objectfreee_api_put changesservice: enumpath: stringbody: objectquery?: objectfreee_api_patch changesservice: enumpath: stringbody: objectquery?: objectfreee_api_delete deletesservice: enumpath: stringquery?: objectfreee_api_list_pathssign_authenticate changessign_auth_statussign_clear_auth deletessign_api_getpath: stringquery?: objectsign_api_post changespath: stringquery?: objectbody?: objectsign_api_put changespath: stringquery?: objectbody?: objectsign_api_patch changespath: stringquery?: objectbody?: objectsign_api_delete deletespath: stringquery?: objectsign_server_infosign_file_upload changesfile_path: stringfolder_id: numberuploader_id?: numbertitle?: stringdocument_status?: enumsigners_count?: numberskip_approval?: boolean