Skip to main content
Glama
FinOps AI Copilot MCP Server

FinOps AI Copilot MCP Server

by anmolratna

MCP Dashboard

A minimal dashboard for MCP services (local backend + server + tools).

Features

  • Local mock backend and API client utilities

  • Services for analytics, wallet, transactions, vendors, and more

Related MCP server: KVMFleet MCP Server

Prerequisites

  • Node.js (16+)

  • npm or yarn

Install

npm install

Run (development)

npm run dev

Build

npm run build

Project structure (key files)

  • src/: application source

    • src/server.ts - main server

    • src/chatServer.ts - chat server

    • src/localBackend.ts - local backend

  • api/axios.ts - axios client

  • services/ - business logic services

  • tools/ - utility scripts (analytics, dashboard, etc.)

Notes

  • See package.json for available npm scripts.

  • This README is a starting point — expand sections as needed.

FinOps AI Copilot MCP Server

A production-quality Model Context Protocol (MCP) server that acts as a secure, read-only AI gateway for fintech operations dashboards. It allows LLMs (such as Cursor, Claude Desktop, or OpenAI-compatible engines) to inspect transactions, vendor performance, wallet balances, and analytics via secure REST APIs instead of exposing the database directly.

Project Overview

FinOps AI Copilot enables natural language query resolution for operational and financial dashboards. By exposing standardized tools through the Model Context Protocol, the AI assistant can query real-time data securely.

Architecture

graph TD
    User([User Query]) --> Client[Claude Desktop / Cursor / AI Client]
    Client -->|JSON-RPC via stdio| Server[FinOps MCP Server]
    Server -->|Zod Validation| Services[Service Layer]
    Services -->|Axios REST Calls| Backend[Dashboard Backend REST API]
    Backend --> DB[(MongoDB Database)]

Security Design

  1. Read-Only Enforcement: The MCP server only exposes query tools (get*, find*, compare*, summary). No state-changing endpoints are integrated.

  2. Gateway Pattern: The AI client never directly talks to MongoDB or runs raw queries. All requests pass through the gateway and are validated against strict Zod schemas.

  3. Data Sanitization: Secrets, customer sensitive credentials, and database keys are never exposed in tool definitions.

  4. Environment Isolation: API endpoints and credentials are loaded dynamically from environment variables.


Installation

Prerequisites

  • Node.js (v18 or higher)

  • npm or yarn

Setup

  1. Clone or navigate to the workspace directory:

    cd "/Users/apple/Desktop/mcp dasboard"
  2. Install dependencies:

    npm install
  3. Configure Environment Variables: Copy .env.example to .env and fill in the details:

    cp .env.example .env

Environment Variables

Variable

Description

Default

PORT

Local port for optional server operations

3000

BACKEND_API_URL

Base URL of the existing REST API

http://localhost:4000/api

BACKEND_API_KEY

Bearer Token / API key for REST endpoints

mock-api-key-12345

LARGE_TRANSACTION_THRESHOLD

Threshold to filter large payments

50000


Available Tools

The MCP server registers the following operational tools:

1. Dashboard

  • getDashboardMetrics: High-level business overview (Total processed volume, count, success rate, failed amount, pending transaction count, wallet balance).

2. Transactions

  • findTransactionById: Search transaction details by transaction ID.

  • findTransactions: Search for transactions using filters like status, vendor, merchant, amount range, and dates.

  • failedTransactions: Retrieve failed transaction list (supports pagination).

  • pendingTransactions: Retrieve pending payout/settlement list.

  • largeTransactions: Retrieve payments exceeding the threshold.

  • retryTransactions: Retrieve payments that have been retried multiple times.

3. Vendors

  • vendorPerformance: Return success/failure rates, average response times, and volumes for a specific vendor.

  • topVendor: Get vendor with the highest success rate.

  • worstVendor: Get vendor with the highest failure rate.

  • vendorComparison: Side-by-side comparison of two vendors.

4. Wallet

  • walletBalance: Current wallet balance across channels.

  • walletHistory: Log of credit/debit adjustments and balance history.

5. Analytics & AI Summary

  • todayVsYesterday: Daily comparison of transactions count, amount, and success rates.

  • weeklyAnalytics: Last 7 days metrics.

  • monthlyAnalytics: Current month summaries.

  • peakHour: Identifies busiest transaction hour.

  • merchantAnalytics: Top merchants by volume and transaction count.

  • dailySummary: AI-structured daily business performance summary with recommendation.


Claude Desktop Configuration

To link this server with your Claude Desktop client, append the following block to your local configuration file:

File Paths

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Configuration Snippet

{
  "mcpServers": {
    "finops-ai-copilot": {
      "command": "node",
      "args": [
        "/Users/apple/Desktop/mcp dasboard/node_modules/tsx/dist/cli.js",
        "/Users/apple/Desktop/mcp dasboard/src/server.ts"
      ],
      "env": {
        "BACKEND_API_URL": "http://localhost:4000/api",
        "BACKEND_API_KEY": "mock-api-key-12345",
        "LARGE_TRANSACTION_THRESHOLD": "50000"
      }
    }
  }
}

Testing locally

To run the mock backend and query the services locally:

  1. Start the mock backend REST API (runs on port 4000):

    npx tsx scratch/mock_backend.ts
  2. Run the integration test client:

    npx tsx scratch/test_client.ts
  3. Type check the server code:

    npm run build

Future Roadmap

  • Anomaly Detection: Flags sudden drops in success rates.

  • Root Cause Analysis: Diagnoses why transactions fail (e.g., bank downtime vs. card failure).

  • Fraud Detection: Identifies velocity spikes or suspicious repeated low-value transactions.

  • Vendor Recommendation: Dynamic routing recommendations to route traffic away from degrading vendors automatically.

  • Scheduled Reports: Automatic generation and distribution of daily/weekly reports via email or Slack.

  • Role-Based Access Control (RBAC): Fine-grained user/client permissions for different categories of financial metrics.

Available Tools

19 tools
dailySummaryA

Retrieve a structured business operations summary for today, including total volume, transaction counts, success rates, top/worst vendors, peak hour, and AI routing recommendations.

Inputs: no named parameters.

failedTransactionsB

Retrieve a list of failed transactions (helps operational debug).

Inputs: page, limit.

findTransactionByIdA

Retrieve details of a specific transaction using its unique transaction ID (e.g. TXN12345).

Inputs: id (required).

findTransactionsC

Search for transactions with filters like status, vendor, merchant, amount range, dates, and pagination.

Inputs: page, limit, status, vendor, +5 more.

getDashboardMetricsA

Retrieve high-level dashboard metrics (total volume, transaction counts, success rates, wallet balance). Useful for general business health checks.

Inputs: no named parameters.

largeTransactionsB

Retrieve a list of transactions with amounts exceeding a specified threshold (e.g. ₹50,000).

Inputs: page, limit, minAmount.

merchantAnalyticsC

Retrieve volume, transaction count, and performance breakdown for merchants.

Inputs: limit.

monthlyAnalyticsA

Fetch high level summaries (volume, transaction count, success rate) for the current month.

Inputs: no named parameters.

peakHourA

Find the hour of the day with the highest transaction density and processing volume.

Inputs: no named parameters.

pendingTransactionsA

Retrieve a list of pending transactions (helps track delayed settlements/payouts).

Inputs: page, limit.

retryTransactionsA

Retrieve transactions that have been retried more than once. Useful for identifying shaky payment flows.

Inputs: page, limit.

todayVsYesterdayA

Compare transaction count, volume, and success/failure rates for today vs. yesterday.

Inputs: no named parameters.

topVendorA

Retrieve the top processing vendor (the vendor with the highest transaction success rate).

Inputs: no named parameters.

vendorComparisonA

Compare performance metrics (success rates, failures, response times) of two specific vendors.

Inputs: vendorA (required), vendorB (required).

vendorPerformanceB

Retrieve success rate, failure rate, volume, transaction count, and average response time for a specific vendor.

Inputs: vendorId (required).

walletBalanceA

Retrieve today's current wallet balance.

Inputs: no named parameters.

walletHistoryB

Retrieve historic credit/debit transaction log and wallet balance records.

Inputs: endDate, startDate.

weeklyAnalyticsA

Fetch transaction count and volume breakdown for the last 7 days.

Inputs: no named parameters.

worstVendorA

Retrieve the worst processing vendor (the vendor with the highest transaction failure rate).

Inputs: no named parameters.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 19 tools

    Disambiguation4/5

    Most tools have clearly distinct purposes, especially vendor, wallet, and trend-specific tools. However, getDashboardMetrics and dailySummary overlap noticeably, and several specialized transaction-list tools (failed, pending, large, retried) partially duplicate what findTransactions could accomplish.

    Naming Consistency4/5

    All tool names use camelCase and follow a predictable noun/query pattern like failedTransactions, vendorPerformance, and walletBalance. The main deviation is that some names are verb-led (findTransactionById, getDashboardMetrics) while others are bare nouns or adjectives, which is still readable and consistent in style.

    Tool Count3/5

    At 19 tools, the server is on the heavy side of the typical well-scoped range. The count is justified by the breadth of FinOps analytics, but several specialized transaction-list tools could potentially be consolidated, making the overall surface feel slightly bloated.

    Completeness4/5

    The tool set covers transaction lookup, filtering, vendor and merchant performance, wallet history, daily summaries, and trend analytics—strong coverage for a read-only FinOps copilot. Minor gaps exist, such as no direct refund/chargeback-specific analytics or flexible custom date-range comparisons beyond preset periods.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      A read-only MCP server that provides visibility into Parallels Remote Application Server infrastructure, policies, and sessions through the RAS REST API. It enables AI assistants to query site settings, published applications, and license status without performing any modifications.
      43
      4
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Read-only MCP server that allows AI assistants to query and monitor KVM Fleet devices, audit logs, and console sessions through the official REST API.
      5
      13 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that enables AI assistants to safely query live Odoo 19 data with a defense-in-depth security layer, providing read-only tools for partners, sales, inventory, and finance.
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      MCP server for programmatic read-only access to RiseUp cashflow data, allowing AI assistants to retrieve budget information via natural language.
      7
      1,375 npm
      38
      MIT