Skip to main content
Glama

fisc

专业税务软件的开源MCP服务器。

通过Model Context Protocol将AI代理连接到Taxprep、DT Max和其他加拿大税务准备软件包。

这是什么?

加拿大会计师事务所使用Taxprep(Wolters Kluwer)和DT Max(Thomson Reuters)等软件准备税务申报表。这些系统围绕专业税务工作流构建,而不是为AI代理提供统一接口。fisc是一个开放互操作层,旨在为代理提供一种一致的方式,以便跨税务软件读取、填充和管理申报表。

Your AI agent
    ↓ MCP
   fisc
    ↓ adapters
Taxprep  ·  DT Max  ·  ...

Related MCP server: brasilnfe-mcp

为什么开源?

我们不认为连接器应该是锁定因素。

会计师事务所应该能够通过一个可检查、可移植且开放贡献的接口,将AI连接到他们已信任的税务软件。一个共享的互操作层也使开发者和软件供应商更容易添加适配器,而无需在私有环境中重建相同的管道。

Coalesc正在这一层之上构建其产品:参与工作流、文档智能、证据、编排、审查控制以及决定下一步应该做什么的推理。开放轨道;在智能和工作流上竞争。

状态

**早期开发。fisc尚未具备功能。**我们正在通过CCH iFirm Taxprep Web API首先构建Taxprep适配器,然后研究DT Max的最佳支持路径。

计划中的工具

工具

描述

create_return

为纳税人创建新的税务申报表

set_field

在申报表中设置值(例如就业收入、医疗费用)

get_field

从申报表中读取值

list_forms

列出申报表中可用的表格

get_diagnostics

获取验证诊断信息

list_returns

列出现有申报表

计划中的适配器

  • Taxprep(CCH iFirm Taxprep Web API)— 进行中

  • DT Max(Thomson Reuters)— 集成路径正在研究中

  • 更多待定

架构

fisc使用供应商中立的税务概念层。它不要求代理理解特定于软件的单元格ID,而是可以使用语义概念:

// What your agent says:
await client.callTool("set_field", {
  return_id: "2026-john-smith",
  concept: "employment_income",
  value: 82400,
  source: "t4_acme.pdf"
});

// An adapter translates that concept to the tax software's native representation.

概念到供应商的映射按纳税年度、软件和申报表类型维护。

开始使用

注意: fisc尚未具备功能。请给仓库标星以关注进展。

# Clone
git clone https://github.com/coalesc/fisc.git
cd fisc

# Install
npm install

# Configure (when adapters are ready)
cp .env.example .env
# Add your CCH iFirm API credentials

# Run
npm start

项目结构

src/
  index.ts              # MCP server entry point
  concepts/             # Vendor-neutral tax concept definitions
  adapters/
    taxprep/            # CCH iFirm Taxprep adapter
    dtmax/              # DT Max adapter (planned)
  tools/                # MCP tool implementations

贡献

我们欢迎贡献——特别是:

  • 新的适配器 用于专业税务软件

  • 概念映射 用于其他申报表类型(T2、T3、T5013)

  • 纳税年度更新 映射

  • 更安全的工具和审查模式 用于AI辅助税务工作流

请参阅CONTRIBUTING.md获取指南。

谁构建了这个?

fisc由Coalesc构建,该公司正在构建一个端到端的工作空间,会计师和AI可以在此共同准备、审查和推进客户参与。我们计划将fisc作为该工作空间与税务事务所已经使用的软件之间的互操作层。

许可证

Apache License 2.0

Available Tools

8 tools
create_returnB

Create or validate creation of a tax return. Mutations default to validate-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNovalidate (default) or commit
tax_yearYes
return_typeYes
taxpayer_refYesOpaque taxpayer reference. Do not pass a SIN directly through the MCP tool.

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of behavioral disclosure. It usefully reveals that mutations default to validate-only, meaning the tool does not commit changes unless explicitly set to commit mode. The SIN warning in the schema also adds important safety context, though the description itself does not discuss side effects or commit-mode consequences.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences and front-loads the core purpose. The phrase 'Create or validate creation' is slightly awkward and redundant, but the overall text is efficient and every sentence contributes meaningful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's main intent and its default validate-only behavior, which is essential for safe invocation. However, with no output schema and no annotations, it does not explain what validation returns, what commit does exactly, or what errors might occur, leaving moderate gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool description adds no parameter-level meaning. Schema description coverage is only 50%, with tax_year and return_type left undocumented; the description does not compensate for those gaps. It relies entirely on the schema's mode and taxpayer_ref descriptions, which are insufficient for full agent comprehension.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Create or validate creation') and a resource ('tax return'), and the 'validate-only' default clarifies the tool's dual behavior. It is distinguishable from sibling list/read tools like list_returns or set_field, though it doesn't explicitly name a sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is used to create or validate a tax return, but it does not explicitly say when to use it versus alternatives or what conditions favor validate vs. commit mode. The 'Mutations default to validate-only' sentence gives contextual guidance, but no exclusions or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_capabilitiesA

Describe the configured adapter and supported operations

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. The verb 'Describe' implies a read-only introspection operation, and mentioning 'supported operations' indicates the kind of information returned. Still, it does not state side-effect freedom, output format, or adapter-specific context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, tightly worded sentence conveys the tool's purpose with no filler. Every word earns its place and the core concept is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter introspection tool, the description covers what the tool returns and its scope. It omits any detail about response structure, but the simple nature of the tool makes this a minor gap rather than a blocking one.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and an empty schema, so no parameter documentation is needed. Baseline 4 applies because no parameter semantics are required for correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Describe') and a clear resource ('the configured adapter and supported operations'). It clearly distinguishes this introspection tool from siblings like list_forms or get_field, which act on domain data rather than tool capabilities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: call this tool when you need to know what the current adapter supports. However, it does not explicitly contrast with alternatives or state when not to use it, leaving some room for inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_diagnosticsC

Retrieve validation diagnostics for a return

ParametersJSON Schema
NameRequiredDescriptionDefault
return_idYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It implies a read-only retrieval but does not explicitly state side effects, data format, or any error conditions. The minimal wording offers no deeper behavioral insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no filler. It front-loads the action and resource. However, it is too sparse to count as well-structured; it is more under-specified than effectively structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description is incomplete. It lacks details on what the diagnostics contain, how they are returned, or any context about the return_id. An agent would need to infer too much.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only says 'for a return,' which loosely implies return_id is a return identifier, but it does not explain the parameter's format, purpose, or constraints. This is insufficient given the zero coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear verb ('Retrieve') and specific resource ('validation diagnostics for a return'), distinguishing it from siblings like get_field or get_capabilities. An agent can understand the core action without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It does not mention any prerequisites, typical scenarios, or conditions that would favor this tool over siblings like get_field or list_returns.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_fieldC

Read a tax field using a vendor-neutral concept

ParametersJSON Schema
NameRequiredDescriptionDefault
conceptYes
tax_yearYes
return_idYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the operation is a read, which is useful, but it does not describe return format, error conditions, pagination, access requirements, or behavior when the requested concept is unsupported.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. It is appropriately compact, though the phrase 'vendor-neutral concept' is somewhat vague and could be clearer without adding length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read operation with no output schema, no annotations, and three undocumented required parameters, the description is too sparse. It does not explain what a 'concept' is, how to discover valid concepts, or how the return value is shaped. Sibling list_concepts could have been referenced but is not.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. 'Vendor-neutral concept' adds some meaning for the concept parameter, but return_id and tax_year are left entirely to their self-evident names. No parameter-level detail is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific action ('Read a tax field') and resource ('tax field'), with the additional qualifier 'vendor-neutral concept' to indicate the lookup mechanism. It is distinguishable from sibling set_field (write operation) and list_concepts (listing concepts), though it does not explicitly name or contrast with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The verb 'Read' implies a read operation, but there is no explicit context, exclusions, or mention of suitable alternatives such as set_field for writing or list_concepts for discovering available concepts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_conceptsB

List verified vendor-neutral tax concepts for a return type

ParametersJSON Schema
NameRequiredDescriptionDefault
return_typeYesTax return type

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden. 'List' communicates a read-only operation, and 'verified vendor-neutral' adds filtering behavior. However, it doesn't disclose ordering, pagination, permissions, or response format, though the tool is simple enough that this is a modest gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence includes the key qualifiers 'verified' and 'vendor-neutral' without redundancy. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter list tool with no output schema, the description plus a fully described enum parameter is sufficient for basic invocation. The main missing piece is usage selection guidance, but that is covered under usage_guidelines.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the only parameter has an enum and description. The description's 'for a return type' adds little beyond the schema, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource ('List ... tax concepts') and adds qualifiers ('verified vendor-neutral') that distinguish it from list_forms and list_returns. It doesn't explicitly name a sibling, but the resource is distinct enough to prevent confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to choose this tool over list_forms or list_returns, nor any exclusions or prerequisites. An agent must infer the appropriate context from the tool name and sibling names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_formsB

List forms in a tax return

ParametersJSON Schema
NameRequiredDescriptionDefault
return_idYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the read-only nature (listing) but doesn't specify what happens if the return_id is invalid, whether it returns only form identifiers or full details, or any output format. For a read operation, the missing behavior context is a notable gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence with no waste. The core action and scope are front-loaded, making it efficient for agents to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one required parameter and no output schema, so the description is mostly adequate. However, it lacks information on what forms the output contains (e.g., form IDs, statuses) and any edge case behaviors. Given the simplicity, it's acceptable but could be clearer on the return value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has only one parameter with 0% description coverage, so the description must clarify its meaning beyond the type. The description mentions 'in a tax return' which implies return_id is the tax return identifier, adding some context. However, it doesn't specify the format or constraints, but given the low complexity, this is minimally adequate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('List') and resource ('forms') with a scope ('in a tax return'), distinguishing it from siblings like list_returns and list_concepts. However, it doesn't explicitly differentiate from list_returns or list_concepts beyond the resource name, but the purpose is reasonably clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when you need forms within a specific tax return, suggested by the 'in a tax return' scope, especially compared to list_returns for listing returns. However, it doesn't explicitly state when NOT to use it or what alternatives exist, leaving some inference to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_returnsC

List tax returns visible to the configured vendor adapter

ParametersJSON Schema
NameRequiredDescriptionDefault
tax_yearNo
return_typeNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It adds one scoping behavior ('visible to the configured vendor adapter') but omits any indication of read-only nature, required permissions, response format, or pagination. For a no-annotation tool this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no filler, front-loading the action and then the scope. It is concise and every word earns its place, though it is sparse enough to reduce overall helpfulness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, an agent cannot know the shape of the returned tax returns, whether pagination exists, or how the two optional parameters affect results. The description is a purpose statement, not a usable contract.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not mention either parameter. The schema provides only names and type/enum/range constraints, leaving the domain meaning of tax_year and return_type unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'List tax returns', and the qualifier 'visible to the configured vendor adapter' clarifies the scope. This distinguishes it from sibling list tools like list_forms and list_concepts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. It does not mention sibling tools, exclusions, or conditions that should lead an agent to prefer this over other list or retrieval tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_fieldB

Set or validate a tax field using a vendor-neutral concept. Mutations default to validate-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNovalidate (default) or commit
valueYes
conceptYes
tax_yearYes
return_idYes
evidence_pageNo
evidence_checksumNo
evidence_source_idNo
evidence_source_typeNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral disclosure burden. It usefully discloses that mutations default to validate-only, an important safety-relevant behavior. However, it omits other behavioral details such as what a committed mutation does, whether the action is reversible, required permissions, or what the response looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no filler, and the primary action is front-loaded. It is efficiently structured, although it could use the saved space to add a bit more parameter or behavior guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 9 parameters, 4 required, no output schema, and no annotations, the description is not complete enough for reliable invocation. It does not explain how evidence parameters relate to validation/commit, what validate-only mode returns, or what commit actually does, leaving substantial gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 11%, so the description must compensate for undocumented parameters. It adds meaning for 'concept' (vendor-neutral) and indirectly for 'mode' (mutations default to validate-only), but it leaves the required return_id, tax_year, and value, as well as all evidence_* parameters, without semantic explanation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Set or validate'), a clear resource ('a tax field'), and the key qualifier ('using a vendor-neutral concept'). This distinguishes set_field from the read-oriented sibling get_field and the concept-listing sibling list_concepts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies that the tool is used to set or validate a field, and notes that mutations default to validate-only, which gives context for the mode parameter. However, it does not explicitly say when to choose 'validate' versus 'commit', nor does it mention alternatives such as get_field for reading or list_concepts for finding valid concepts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 8 tool updatesv0.3.0
    • First observedcreate_return
    • First observedget_capabilities
    • First observedget_diagnostics
    • First observedget_field
    • First observedlist_concepts
    • First observedlist_forms
    • First observedlist_returns
    • First observedset_field

TDQS

A3.5/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct operation: capabilities introspection, concept discovery, return creation, field reads/writes, form/return listing, and diagnostics. No two tools have overlapping responsibilities, so an agent can reliably select the right tool.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (get_, list_, create_, set_). The mix of get_ vs list_ for read operations is standard and distinguishes single-item retrieval from collection listing.

Tool Count5/5

Eight tools are well-scoped for the tax-return domain, covering discovery, creation, field manipulation, listing, and diagnostics. Each tool earns its place without unnecessary redundancy or bloat.

Completeness4/5

The set supports a validate-first workflow with creation, field access, listings, and diagnostics. It lacks explicit update/delete operations for returns, but set_field covers field-level mutation and deletion may be out of scope for this adapter.

Maintenance

ActivityMaintained
ResponsivenessSlow

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A sovereign, MIT-licensed MCP server for US tax operations, enabling offline-capable and self-hostable tax workflow management.
    MIT
  • F
    license
    Not graded
    quality
    F
    maintenance
    MCP server that exposes Brazilian tax infrastructure as tools, resources, and prompts, enabling AI agents to emit and manage fiscal documents (NF-e, NFC-e, NFS-e, CT-e, MDF-e, DC-e) through natural language.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A standalone MCP server for Indian personal income-tax work (ITR-1/2/3/4 + post-filing notices) with 8 deterministic tools, running fully offline with no API keys.
    21 PyPI
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server that connects AI agents to 34,500+ Australian Taxation Office documents, providing cited answers, tax deduction discovery, depreciation scheduling, BAS checklists, and audit risk assessment through 13 specialized tools.
    174 npm
    11
    AGPL 3.0