FreeTaxUSA MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FREETAXUSA_HEADLESS | No | Set to false to see the browser window. | true |
| FREETAXUSA_TAX_YEAR | No | Tax year to file (change for prior years). | 2025 |
| FREETAXUSA_USER_DATA_DIR | No | Browser profile directory. | ~/.freetaxusa-mcp/browser-profile/ |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| authenticateA | Log in to FreeTaxUSA. When Hermes is configured (HERMES_URL/HERMES_CLIENT_TOKEN), the session is brokered by Hermes and no email/password is needed. Otherwise, pass email and password for the embedded browser login (credentials are used once and never stored). |
| get_session_statusA | Check if the FreeTaxUSA session is active and which tax year/section is loaded. |
| read_current_pageA | Read all form fields and their values on the current FreeTaxUSA page. |
| save_and_continueA | Submit the current FreeTaxUSA page and advance to the next page. |
| navigate_sectionA | Jump to a specific tax section by name (e.g., "income", "deductions") or SID number. |
| fill_taxpayer_infoB | Fill the taxpayer personal information section (name, SSN, DOB, address, occupation). |
| fill_filing_statusB | Set the filing status (single, married_joint, married_separate, head_of_household, qualifying_widow). |
| get_tax_summaryA | Get the tax return overview: refund/owed amount, AGI, filing status, completed sections. |
| get_refund_estimateA | Get the current calculated federal and state refund or amount owed. |
| fill_w2_incomeC | [Phase 2 - Not yet implemented] Enter W-2 wage data. |
| fill_1099_incomeC | [Phase 2 - Not yet implemented] Enter 1099 income data. |
| fill_deductionsB | [Phase 3 - Not yet implemented] Enter deduction information (standard or itemized). |
| review_returnB | [Phase 3 - Not yet implemented] Run error check and get review results before filing. |
| file_extensionB | [Phase 3 - Not yet implemented] File Form 4868 for an automatic extension. |
| get_form_statusB | [Phase 3 - Not yet implemented] Get which sections are complete, incomplete, or have errors. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Each tool targets a distinct action or entity: authentication, filing status, taxpayer info, refund estimate, session status, tax summary, navigation, page reading, and saving. There is no overlap between the implemented tools.
All tools follow a consistent verb_noun pattern (e.g., fill_filing_status, get_refund_estimate, navigate_section). Even the unimplemented tools follow this pattern, indicating a well-thought-out naming convention.
With 15 tools total (9 implemented), the count is within the typical 3-15 range. However, the presence of 6 placeholder tools that are not yet implemented slightly inflates the count, but overall it is appropriate for the scope.
The tool set is missing essential functionalities for tax preparation, such as entering W-2 income, 1099 income, deductions, and filing extensions. Most data entry tools are marked as not implemented, leaving a significant gap that prevents completing a tax return.