# Aiwyn Tax MCP

```json
{
  "name": "Aiwyn Tax MCP",
  "slug": "aiwyn_tax_mcp",
  "url": "https://composio.dev/toolkits/aiwyn_tax_mcp",
  "markdown_url": "https://composio.dev/toolkits/aiwyn_tax_mcp.md",
  "logo_url": "https://logos.composio.dev/api/aiwyn_tax_mcp",
  "categories": [
    "finance & accounting"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-08-06T11:05:32.591Z"
}
```

![Aiwyn Tax MCP logo](https://logos.composio.dev/api/aiwyn_tax_mcp)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Aiwyn Tax MCP or direct API to estimate federal taxes, calculate state taxes, compare filing scenarios, and explain tax outcomes through natural language.

## Summary

Aiwyn Tax MCP is a tax estimation service powered by Aiwyn's federal and state tax engine.
It helps teams estimate tax outcomes without building tax calculation logic from scratch.

## Categories

- finance & accounting

## Toolkit Details

- Tools: 10

## Images

- Logo: https://logos.composio.dev/api/aiwyn_tax_mcp

## Authentication

- **No Auth**
  - Type: `custom`
  - Description: No Auth authentication for Aiwyn Tax MCP.
  - Setup:
    - Configure No Auth credentials for Aiwyn Tax MCP.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Estimate taxes for California single filer
- Compare federal taxes across filing statuses
- Calculate state tax for W2 income

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `AIWYN_TAX_MCP_CALCULATE_TAX` | Calculate tax | Calculate a tax return for a given jurisdiction. The 'input' argument must conform to the JSON schema returned by the tax_namespace_schema tool. Returns computed tax return document on success, or validation errors if the input is invalid. If some inputs trigger a PARTIAL DISQUALIFICATION, the document is still returned for the supported fields; review the disqualification details and estimate the impact of the unsupported fields on the taxpayer's tax owed or refund due. Use the check_tax tool first to validate the input before calculating the tax return with this tool.IMPORTANT RULES: (1) All field values must be wrapped as {"value": } — never pass bare values. (2) Currency amounts are whole-dollar integers (e.g. $19,312.42 = 19312). (3) Every item in an array namespace (NamespaceList) must have a "uuid" field with a valid UUIDv4 string. UUIDv4 format: xxxxxxxx-xxxx-4xxx-[89ab]xxx-xxxxxxxxxxxx — the 3rd group MUST start with '4' (version) and the 4th group MUST start with '8', '9', 'a', or 'b' (variant). NEVER construct UUIDs manually (e.g. 'B1111111-1111-1111-1111-111111111111' is invalid). Use a UUID generator; example valid value: 'a3b4c5d6-e7f8-4a9b-8c0d-1e2f3a4b5c6d'. (4) Nested arrays (e.g. w2_state_local_tax_grp inside a w2) also require a UUIDv4 on each item. (5) Use "who_applies_to" to cross-reference entries: {"value": "taxpayer"} for singletons, {"value": "#"} for array items (e.g. "dependent_detail#"). Other named reference fields (e.g. "person" in qualifying_person_grp, "student" in student_educational_instn_grp) use the same "#" format. (6) For state returns with Extended Links (state namespace extending a federal NamespaceList), each extended link item must use a UUIDv5 generated from the source item's UUID (as the namespace) and the extended namespace name (as the name). Matching is UUID-based, not positional. The number of expected instances depends on the source formula — it is NOT always a 1:1 match with the federal list (e.g. CA Form 3853 ca_household_grp expects taxpayer + spouse + all dependents). Incorrect or random UUIDs cause SILENT DATA LOSS — the server drops unrecognized UUIDs and replaces them with empty instances. Use the generate_uuid_v5 tool with the source item's UUID as the source_uuid and the extended namespace name (e.g. "ca_provider", "ca_irsw2_g") as the namespace input.Example: generate_uuid_v5(source_uuid: w2_uuid, namespace: "ca_irsw2_g") for a CA W-2 extension.(7) return_header is top-level, NOT nested inside return_data. Use tax_simple_return first to see the full input structure and examples. When returning the tax calculation inform the user that I'm just a tax estimator, you should consult with a tax professional. |
| `AIWYN_TAX_MCP_CHECK_TAX` | Check tax | Check inputs to calculate a tax return for a given jurisdiction. The 'input' argument must conform to the JSON schema returned by the tax_namespace_schema tool. Returns 'Success' on success, or validation errors if the input is invalid. If some inputs trigger a PARTIAL DISQUALIFICATION, the check still succeeds but includes disqualification details — proceed to calculate_tax to get the document and estimate the impact. Use this tool to validate inputs before calculating the tax return. |
| `AIWYN_TAX_MCP_GENERATE_TAX_PDF_TOOL` | Generate tax pdf tool | Start async PDF generation for a tax return. The 'input' argument must conform to the JSON schema returned by the tax_namespace_schema tool. Returns a job ID to poll with get_tax_pdf.Use the check_tax tool first to validate the input before generating the tax PDF with this tool.The input follows the same rules as calculate_tax: all values wrapped as {"value": }, array items require UUIDv4 fields (extended link items use UUIDv5), references use who_applies_to, and return_header is top-level (not inside return_data). Use tax_simple_return to see the full input structure. |
| `AIWYN_TAX_MCP_GENERATE_UUID_V5` | Generate uuid v5 | Generate a UUID v5 based on a source uuid and namespace. |
| `AIWYN_TAX_MCP_GET_TAX_PDF_TOOL` | Get tax pdf tool | Check status of a PDF generation job. Returns the status and a download URL when completed, only use this tool after generating the tax PDF with the generate_tax_pdf tool and it successfully returns a job ID. When returning the url of the PDF inform the user that I'm just a tax estimator, you should consult with a tax professional. |
| `AIWYN_TAX_MCP_TAX_JURISDICTIONS` | Tax jurisdictions | List all supported tax jurisdictions for a given tax year. |
| `AIWYN_TAX_MCP_TAX_NAMESPACES` | Tax namespaces | List all available input namespaces for a given jurisdiction. Use the returned names with the tax_namespace_schema tool to get the schema for a specific namespace. Requires a jurisdiction (e.g. "us" for federal, "ca" for California). Use the tax_jurisdictions tool first to discover available jurisdictions. NAMESPACE NAMING CONVENTIONS: Federal namespaces: irs1040, irs1040_schedule1, irs8962, w2, dependent_detail, etc. State namespaces: always prefixed with the state abbreviation (ca_form540, ny_it201, az_form140). NAMESPACE TYPES: Some namespaces are singletons (object), others are NamespaceLists (array) that can hold multiple items — e.g. w2 (multiple W-2s), dependent_detail (multiple dependents), irs1040_schedulec (multiple businesses). NamespaceList items require UUIDv4 fields. State NamespaceLists may act as Extended Links that extend a federal NamespaceList (e.g. ca_provider extends care_provider_grp). Extended link items must use UUIDv5 (deterministic, derived from source item UUID as namespace + extended namespace name as name). Matching is UUID-based, not positional. Wrong UUIDs cause silent data loss.Use the generate_uuid_v5 tool with the source item's UUID as the source_uuid and the extended namespace name (e.g. "ca_provider", "ca_irsw2_g") as the namespace input.Example: generate_uuid_v5(source_uuid: w2_uuid, namespace: "ca_irsw2_g") for a CA W-2 extension. |
| `AIWYN_TAX_MCP_TAX_NAMESPACE_SCHEMA` | Tax namespace schema | Get the TCB input schema for a single namespace (e.g. "irs1040", "irs1040_schedulec", "ca_form540"). Returns the properties and types for that namespace. HOW TO READ THE SCHEMA: (1) Each field references a type like tcb_string_null, tcb_integer_null, or tcb_boolean_null. All values must be wrapped as {"value": }. (2) If the namespace title ends in '_list' (e.g. 'w2_list', 'dependent_detail_list'), it is a NamespaceList — an array of objects. Each array item MUST include a "uuid" field (non-null UUIDv4 string). (3) Reference fields link entries to other namespaces e.g. "person" in qualifying_person_grp, "student" in student_educational_instn_grp. All use the same format: {"value": "#"} (e.g. "dependent_detail#"). (4) Nested arrays within a namespace (e.g. w2_state_local_tax_grp inside w2) also require uuid on each nested item. (5) Pattern-validated strings (e.g. SSNs, ZIPs, dates) have regex constraints in the schema $defs. SSNs/EINs: 9-digit string (no dashes). ZIPs: 5 or 9 digits. Dates: YYYY-MM-DD. |
| `AIWYN_TAX_MCP_TAX_SIMPLE_RETURN` | Tax simple return | Call this FIRST when beginning any tax return. Returns the curated namespace list, top-level structure guide, example input, and step-by-step filing workflow. By default returns a simple scenario (single or MFJ filer, W-2 income only, standard deduction, no dependents). Pass scenario="with_dependents" for returns that include dependents, child care (Form 2441), and education credits (Form 8863). Optionally pass a state jurisdiction (e.g. "ca") to also include state-level namespaces — if you don't know which state applies, ask the user before calling. |
| `AIWYN_TAX_MCP_TAX_YEARS` | Tax years | List all supported tax years. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Aiwyn Tax MCP Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Aiwyn Tax MCP actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'Estimate federal and California state taxes for a single filer earning $85,000 with $5,000 in deductions'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'Estimate federal and California state taxes for a single filer earning $85,000 with $5,000 in deductions'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for Aiwyn Tax MCP
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Aiwyn Tax MCP tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('Estimate federal and California state taxes for a single filer earning $85,000 with $5,000 in deductions')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'Estimate federal and California state taxes for a single filer earning $85,000 with $5,000 in deductions'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Aiwyn Tax MCP Integration

- Supports both Aiwyn Tax MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tax estimation workflows
- Rich coverage for estimating federal and state tax outcomes from user-provided financial details

### 2. Managed Auth

- No credential setup is required because Aiwyn Tax MCP uses no-auth access through Composio
- Composio gives every agent a clean Tool Router session instead of custom integration glue
- Per-user execution context helps you keep tax estimation requests organized and traceable

### 3. Agent Optimized Design

- Tools are shaped so language models can ask for tax estimates with clear, structured inputs
- Built-in execution handling reduces the brittle parsing work you'd normally write yourself
- Comprehensive logs show which tax estimation tools ran, when, and for which user

### 4. Enterprise Grade Security

- Fine-grained RBAC lets you control which agents and users can access Aiwyn Tax MCP
- Scoped tool access helps keep tax estimation workflows limited to approved actions
- Full audit trails make it easier to review agent-driven tax calculations and user requests

## Use Aiwyn Tax MCP with any AI Agent Framework

Choose a framework you want to connect Aiwyn Tax MCP with:

- [ChatGPT Work](https://composio.dev/toolkits/aiwyn_tax_mcp/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/aiwyn_tax_mcp/framework/claude-cowork)

## Related Toolkits

- [Stripe](https://composio.dev/toolkits/stripe) - Stripe is a global online payments platform offering APIs for managing payments, customers, and subscriptions. Trusted by businesses for secure, efficient, and scalable payment processing worldwide.
- [Alpaca](https://composio.dev/toolkits/alpaca) - Alpaca is a stock and crypto trading platform for commission-free trading, real-time market data, and algorithmic strategies. Use it to build brokerage apps, trading bots, and portfolio workflows with market connectivity.
- [Alpha vantage](https://composio.dev/toolkits/alpha_vantage) - Alpha Vantage is a financial data platform offering real-time and historical stock market APIs. Get instant, reliable access to equities, forex, and technical analysis data for smarter trading decisions.
- [Altoviz](https://composio.dev/toolkits/altoviz) - Altoviz is a cloud-based billing and invoicing platform for businesses. It streamlines online payments, expense tracking, and customizable invoice management.
- [Benzinga](https://composio.dev/toolkits/benzinga) - Benzinga provides real-time financial news and data APIs for market coverage. It helps you track breaking news and actionable market insights instantly.
- [Brex](https://composio.dev/toolkits/brex) - Brex provides corporate credit cards and spend management tailored for startups and tech businesses. It helps optimize company cash flow, streamline accounting, and accelerate business growth.
- [Chaser](https://composio.dev/toolkits/chaser) - Chaser is accounts receivable automation software that sends invoice reminders and helps businesses get paid faster. It streamlines the collections process to save time and improve cash flow.
- [Clientary](https://composio.dev/toolkits/clientary) - Clientary is a platform for managing clients, invoices, projects, proposals, and more. It streamlines client work and saves you serious admin time.
- [Coinbase](https://composio.dev/toolkits/coinbase) - Coinbase is a platform for buying, selling, and storing cryptocurrency. It makes exchanging and managing crypto simple and secure for everyone.
- [Coinranking](https://composio.dev/toolkits/coinranking) - Coinranking is a comprehensive cryptocurrency market data platform offering access to real-time coin prices, market caps, and historical data. Get accurate, up-to-date stats for thousands of digital assets in one place.
- [Coupa](https://composio.dev/toolkits/coupa) - Coupa is a business spend management platform for procurement, invoicing, and expenses. It helps organizations streamline purchasing, control costs, and gain complete visibility over financial operations.
- [CurrencyScoop](https://composio.dev/toolkits/currencyscoop) - CurrencyScoop is a developer-friendly API for real-time and historical currency exchange rates. Easily access fiat and crypto data for smart, up-to-date financial applications.
- [Daffy](https://composio.dev/toolkits/daffy) - Daffy is a modern charitable giving platform with a donor-advised fund. Easily set aside funds, grow them tax-free, and donate to over 1.7 million U.S. charities.
- [Eagle doc](https://composio.dev/toolkits/eagle_doc) - Eagle doc is an AI-powered OCR API for invoices and receipts. It delivers fast, reliable, and accurate document data extraction for seamless automation.
- [Elorus](https://composio.dev/toolkits/elorus) - Elorus is an online invoicing and time-tracking software for freelancers and small businesses. Easily manage finances, bill clients, and track work in one place.
- [Eodhd apis](https://composio.dev/toolkits/eodhd_apis) - Eodhd apis delivers comprehensive financial data, including live and historical stock prices, via robust APIs. Easily access reliable, up-to-date market insights to power your apps, dashboards, and analytics.
- [Fidel api](https://composio.dev/toolkits/fidel_api) - Fidel api is a secure platform for linking payment cards to web and mobile apps. It enables real-time card transaction monitoring and event-based automation for businesses.
- [Finage](https://composio.dev/toolkits/finage) - Finage is a secure API platform delivering real-time and historical financial data for stocks, forex, crypto, indices, and commodities. It empowers developers and businesses to access, analyze, and act on market data instantly.
- [Finmei](https://composio.dev/toolkits/finmei) - Finmei is an invoicing tool that simplifies billing, invoice management, and expense tracking. Ideal for automating and organizing your business finances in one place.
- [Fixer](https://composio.dev/toolkits/fixer) - Fixer is a currency data API offering real-time and historical exchange rates for 170 currencies. Instantly access accurate, up-to-date forex data for your applications and workflows.

## Frequently Asked Questions

### Do I need my own developer credentials to use Aiwyn Tax MCP with Composio?

No. Aiwyn Tax MCP uses no-auth access through Composio, so you don't need to configure developer credentials. You can create a Tool Router session and let your agent start estimating federal and state taxes right away.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
