IrishTaxHub MCP Server

IrishTaxHub MCP Server

Dynamic MCP server that exposes IrishTaxHub API operations as tools via OpenAPI-powered discovery and invocation, allowing users to list endpoints, get request schemas, and call any API endpoint dynamically.

Category
Visit Server

README

IrishTaxHub MCP Server

Model Context Protocol (MCP) server that exposes IrishTaxHub API operations as tools.

This server now uses FastMCP v2 for a simpler, production-ready implementation.

Features

  • Dynamic OpenAPI-powered tools only:
    • openapi_list_endpoints(tag?) → discover available endpoints
    • openapi_get_request_schema(path, method=POST) → JSON Schema for request body
    • openapi_invoke(path, method=POST, body?, params?) → validate and call dynamically

Install

Use Poetry (recommended) or pip.

# With Poetry
poetry install

# Or with pip
pip install -e .

# If running directly with FastMCP CLI
pip install fastmcp

Configure

Set environment variables (or copy .env.example to .env):

For production use:

export IRISHTAXHUB_BASE_URL="https://prod.aws.irishtaxhub.ie"
export IRISHTAXHUB_TIMEOUT="30"
# OpenAPI source (file or URL). Defaults to "$IRISHTAXHUB_BASE_URL/apispec_1.json".
export IRISHTAXHUB_OPENAPI="https://prod.aws.irishtaxhub.ie/apispec_1.json"
export IRISHTAXHUB_DEVELOPMENT_MODE=false

For local development (if running the API locally):

export IRISHTAXHUB_BASE_URL="http://localhost:5000"
export IRISHTAXHUB_TIMEOUT="30"
export IRISHTAXHUB_OPENAPI="http://localhost:5000/openapi.json"
export IRISHTAXHUB_DEVELOPMENT_MODE=true

Run (local)

Standard I/O server (used by MCP clients):

python -m irishtaxhub_mcp.server
# or via Poetry
poetry run irishtaxhub-mcp

# or run with the FastMCP CLI (equivalent)
fastmcp run src/irishtaxhub_mcp/server.py

Use with Claude Desktop

Add an MCP server entry to your Claude Desktop config (replace path as needed):

For production use:

{
  "mcpServers": {
    "irishtaxhub": {
      "command": "python",
      "args": ["-m", "irishtaxhub_mcp.server"],
      "env": {
        "IRISHTAXHUB_BASE_URL": "https://prod.aws.irishtaxhub.ie",
        "IRISHTAXHUB_OPENAPI": "https://prod.aws.irishtaxhub.ie/apispec_1.json"
      }
    }
  }
}

For local development:

{
  "mcpServers": {
    "irishtaxhub": {
      "command": "python",
      "args": ["-m", "irishtaxhub_mcp.server"],
      "env": {
        "IRISHTAXHUB_BASE_URL": "http://localhost:5000",
        "IRISHTAXHUB_OPENAPI": "http://localhost:5000/openapi.json"
      }
    }
  }
}

Then restart Claude Desktop; tools will appear as openapi_list_endpoints, openapi_get_request_schema, and openapi_invoke.

Examples

Dynamic discovery + invocation:

{
  "tool": "openapi_list_endpoints",
  "arguments": { "tag": "Tax Calculators" }
}
{
  "tool": "openapi_get_request_schema",
  "arguments": { "path": "/v1/tax/calculators/refund", "method": "POST" }
}
{
  "tool": "openapi_invoke",
  "arguments": {
    "path": "/v1/tax/calculators/refund",
    "method": "POST",
    "body": {
      "marital_status": "single",
      "year": 2024,
      "employment_income": { "income": 50000 }
    }
  }
}

Notes

  • Tools call your deployed HTTP API; they do not import internal Python modules. This keeps the MCP server lightweight and decoupled.
  • Dynamic tools load your OpenAPI definition from a file or via HTTP. For local development, you can point IRISHTAXHUB_OPENAPI at your repo’s openapi.yaml — Jinja templating is supported.
  • If you prefer in-process usage, you can create another variant inside the API repo that imports facades directly.

Claude PR Review (GitHub Action)

This repo includes a GitHub Action (.github/workflows/claude-pr-review.yml) that automatically reviews PRs using Claude. It requires a CLAUDE_CODE_OAUTH_TOKEN secret.

Generating the token

  1. Run claude setup-token in your terminal — this opens a browser to authenticate with your Claude account and outputs an OAuth token
  2. Copy the token

Setting the secret

gh secret set CLAUDE_CODE_OAUTH_TOKEN --repo jhurleyai/irishtaxhub-mcp

Paste the token when prompted.

When to regenerate

The token is tied to your Claude subscription. If your subscription lapses and you renew, the existing token is invalidated — you must run claude setup-token again and update the secret.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured