990.tax MCP
Provides two Model Context Protocol servers for AI assistants: a free, no-sign-in server to search and retrieve IRS public records for US nonprofits (status, financials, filings), and an OAuth-authenticated server to draft, review, and file Form 990-N returns for small nonprofits.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://990.tax/mcpWhat its tools do
8 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to 990.tax ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Search for US nonprofits by name or EIN to retrieve IRS public records
- Check tax-exempt status and filing history for specific organizations
- Draft Form 990-N returns for small nonprofits using AI assistance
- Calculate filing due dates and explain IRS reject codes
Source and maintenance
Protocol and capabilities
- Server
- 990.tax 1.0.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 8 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
8 advertised
search_nonprofits — Search US nonprofits
Find US tax-exempt organizations by name or EIN in IRS records. Returns up to 10 matches with EIN, city, state, exempt status (active, revoked, reinstated, terminated) and the latest form filed.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Maximum results, 1-10 (default 5)"
},
"query": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Organization name (or part of it) or EIN"
},
"state": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Two-letter US state or territory code, e.g. TX"
}
}
}{
"title": "Search US nonprofits",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_nonprofit_profile — Get a nonprofit profile
One organization's IRS record: exempt status, 501(c) subsection, NTEE category, ruling year, deductibility (Publication 78), fiscal year end, which return it files, last filing, and the latest e-filed financial summary. Optional sections: financials (up to 5 years of revenue, expenses, assets from e-filed Form 990/990-EZ/990-PF), officers (up to 15 officers, directors and key employees with compensation from the latest e-filed return), filing_history (e-Postcards and e-filed returns).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ein"
],
"properties": {
"ein": {
"type": "string",
"description": "Employer Identification Number, 9 digits, with or without the dash (12-3456789)"
},
"include": {
"type": "array",
"items": {
"enum": [
"financials",
"officers",
"filing_history"
],
"type": "string"
},
"maxItems": 3,
"description": "Extra sections to return; leave out for the compact profile"
}
}
}{
"title": "Get a nonprofit profile",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}check_exempt_status — Check tax-exempt status and missing years
Whether the IRS automatically revoked an organization's tax exemption (revocation, posting and reinstatement dates), and which of its last three ended accounting years have no return on the IRS public files. Three consecutive missing years revoke the exemption (IRC 6033(j)).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ein"
],
"properties": {
"ein": {
"type": "string",
"description": "Employer Identification Number, 9 digits, with or without the dash (12-3456789)"
}
}
}{
"title": "Check tax-exempt status and missing years",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}which_990_form — Which Form 990 an organization files
Which annual return applies under the IRS thresholds: 990-N (gross receipts normally $50,000 or less), 990-EZ (under $200,000 and assets under $500,000), 990, 990-PF, or none (churches, group-return members). With an EIN, missing amounts come from the IRS Business Master File. Cites the IRS rule.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"ein": {
"type": "string",
"description": "Employer Identification Number, 9 digits, with or without the dash (12-3456789)"
},
"is_church": {
"type": "boolean",
"description": "Church, integrated auxiliary, or convention or association of churches"
},
"total_assets": {
"type": "number",
"minimum": 0,
"description": "Total assets at year end, in USD"
},
"gross_receipts": {
"type": "number",
"minimum": 0,
"description": "Gross receipts, normally the 3-year average for organizations 3+ years old, in USD"
},
"is_private_foundation": {
"type": "boolean"
},
"is_509a3_supporting_org": {
"type": "boolean",
"description": "Supporting organization under section 509(a)(3)"
}
}
}{
"title": "Which Form 990 an organization files",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_filing_due_date — Form 990 due date
Due date of a Form 990-N, 990-EZ, 990 or 990-PF for a fiscal year end and tax year, moved off weekends and legal holidays, the Form 8868 extended due date (none for the 990-N), days remaining, and late-filing consequences. Give the fiscal year end month or an EIN. Tax year = the calendar year the accounting year begins in; default is the latest ended year.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"ein": {
"type": "string",
"description": "Employer Identification Number, 9 digits, with or without the dash (12-3456789)"
},
"form": {
"enum": [
"990",
"990-N",
"990-EZ",
"990-PF"
],
"type": "string",
"description": "Default 990-N"
},
"tax_year": {
"type": "integer",
"maximum": 2100,
"minimum": 2000
},
"fiscal_year_end_month": {
"type": "integer",
"maximum": 12,
"minimum": 1,
"description": "Month the accounting year ends, 1-12 (12 = December 31)"
}
}
}{
"title": "Form 990 due date",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_nonprofit_stats — US nonprofit statistics
Counts and totals for US tax-exempt organizations from IRS public data: national, one state, or one NTEE major category (A-Z). Active organizations, 990-N filers, revocations, and revenue, assets, employees and pay from e-filed returns; national adds e-Postcard filers by year, revocations by month and organizations by category.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"scope"
],
"properties": {
"scope": {
"enum": [
"national",
"state",
"ntee"
],
"type": "string"
},
"state": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "With scope \"state\""
},
"ntee_major": {
"type": "string",
"maxLength": 1,
"minLength": 1,
"description": "With scope \"ntee\": NTEE major group letter, e.g. B (education)"
}
}
}{
"title": "US nonprofit statistics",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_top_nonprofits — Nonprofit rankings
Ranked lists from e-filed Form 990 returns, national (25) or per state (10): highest-paid executives, largest by revenue, most money raised, richest by net assets, biggest employers.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"list"
],
"properties": {
"list": {
"enum": [
"highest-paid-nonprofit-executives",
"largest-nonprofits",
"top-fundraising-nonprofits",
"richest-nonprofits",
"biggest-nonprofit-employers"
],
"type": "string"
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Default 10"
},
"state": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Two-letter US state or territory code, e.g. TX"
}
}
}{
"title": "Nonprofit rankings",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}explain_irs_reject_code — Explain an IRS e-file reject code
Plain-English meaning of an IRS Modernized e-File business rule reject code for Forms 990-N, 990-EZ, 990 and 8868 (e.g. R0000-922-01), the IRS rule text, and how to fix it.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"maxLength": 20,
"minLength": 5,
"description": "Reject code, e.g. R0000-922-01"
}
}
}{
"title": "Explain an IRS e-file reject code",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1682 ms
- 95th percentile latency
- 1682 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1682 ms · metadata changed · 8 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http 990-tax-mcp https://990.tax/mcpCodex
codex mcp add 990-tax-mcp --url https://990.tax/mcpCursor
{
"mcpServers": {
"990-tax-mcp": {
"url": "https://990.tax/mcp"
}
}
}Cline
{
"mcpServers": {
"990-tax-mcp": {
"type": "streamableHttp",
"url": "https://990.tax/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"990-tax-mcp": {
"type": "http",
"url": "https://990.tax/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http 990-tax-mcp https://990.tax/mcpClaude Desktop
https://990.tax/mcpWindsurf
{
"mcpServers": {
"990-tax-mcp": {
"serverUrl": "https://990.tax/mcp"
}
}
}Let your agent find its tools
Find servers like 990.tax MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run 990.tax MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.