MCP coverage audit & gap analysis

Probes all available MCP tools, re-evaluates coverage of 50 persona use cases, detects new fields or tools, and regenerates the gap analysis report.

↓ Download skill (.md)
95/100Β·πŸ” Ad hocΒ·ExpertCFOControllerAP ManagerFinance AnalystProcurement
SettingsComplianceget_payablesget_suppliersget_purchase_ordersget_requestsget_cost_centersget_usersget_settlementsget_wallet_summarylist_companiesspendesk_analyze_spendspendesk_get_due_invoicesget_chart_of_accountsget_expense_categoriesget_analytical_fieldslist_cardsget_wallet_loadsget_payable_attachments

🎯 Skill purpose

Probes all available MCP tools, re-evaluates coverage of 50 persona use cases, detects new fields or tools, and regenerates the gap analysis report.

πŸ“Š What it produces

Updated coverage report (mcp-gap-analysis.md) with: change summary, new scores per use case, closed vs persistent gaps, and recalculated roadmap.

⚑ Benefit

Before

The MCP coverage analysis is static β€” it becomes obsolete as soon as a new MCP version is released, with no systematic update mechanism.

After

Always up-to-date coverage analysis, with automatic detection of improvements and immediate identification of impact on personas.



# MCP coverage audit β€” Automated gap analysis

## Purpose
Systematically re-evaluate MCP coverage against the 50 use cases of the 5 finance personas, detect improvements since the last analysis, and regenerate an up-to-date `scenarios/mcp-gap-analysis.md`.

To be run after every MCP update (new endpoints, new fields) or quarterly.

---

## Phase 1 β€” Inventory of available MCP tools

### Step 1.1 β€” Probe each tool to discover the actual fields

For each tool listed below, call it with minimal parameters and inspect the response structure. Note the fields actually returned.

```
TOOLS TO PROBE:

get_wallet_loads         β†’ note the fields returned
get_wallet_summary       β†’ note the fields returned
spendesk_analyze_spend   β†’ call with groupBy:supplier, period:last_month
                           β†’ note accepted parameters + result structure
get_payables             β†’ call with limit:1
                           β†’ note ALL fields (look especially for:
                             paymentDate, approvedAt, submittedAt, processingDays,
                             rejectionCount, disputeStatus, payableSubType)
get_payable_by_id        β†’ use the first ID found
                           β†’ note fields vs get_payables
get_payable_attachments  β†’ call with a payableId
get_suppliers            β†’ call with limit:1
                           β†’ look for: paymentTerms, preferredStatus, riskScore
get_supplier_by_id       β†’ use the first ID found
get_purchase_orders      β†’ call with limit:1
                           β†’ look for: contractEndDate, autoRenewal,
                             noticePeriodDays, invoiceIds
get_requests             β†’ call with limit:1
get_request_by_id        β†’ use the first ID found
list_cards               β†’ call with limit:1
get_card                 β†’ use the first ID found
get_transactions          β†’ call with limit:1 (card transactions, distinct from get_settlements)
get_cost_centers         β†’ note if budgetAmount or budgetId is present
get_users                β†’ call with limit:1
get_expense_categories   β†’ call
get_analytical_fields    β†’ call
get_analytical_field_values β†’ use the first fieldId found
get_chart_of_accounts    β†’ call
get_settlements          β†’ call with limit:1
                           β†’ look for: bankTransactionId, bankReference
list_companies           β†’ call (requires org token)
```

### Step 1.2 β€” Detect new, previously unknown tools

In addition to the tools listed above, check whether there are any Spendesk MCP tools not covered by this list. This includes:
- `get_budgets` or any tool with "budget" in the name
- `get_payable_events` or any tool with "events" / "history" / "audit"
- `get_bank_transactions` or any tool with "bank" / "transaction"
- `approve_*` or any write tool (write/create/update/approve)

Flag every newly discovered tool as **NEW** in your report.

### Step 1.3 β€” Build the inventory matrix

Build a summary table:

```
| Tool | Available | Notable fields | New fields vs previous analysis |
```

---

## Phase 2 β€” Evaluation of the 50 use cases

For each use case below, re-evaluate **current feasibility** based on the tools and fields discovered in Phase 1. Use the scoring grid:

```
Score 80–100 (βœ… A): Feasible with current tools, reliable result
Score 60–79  (πŸ”§ B): Feasible with a multi-step workaround or approximations
Score 40–59  (⚠️ C): Partially feasible, incomplete data
Score ≀39    (❌ D): Not feasible, missing tools
```

### Evaluation grid for the 50 use cases

#### CFO (10 cases)

| # | Use case | Required tools | Previous score | Current score | Ξ” |
|---|-------------|---------------|:---------------:|:------------:|:-:|
| C1 | Multi-entity treasury dashboard | list_companies, get_wallet_summary | 78 | ? | ? |
| C2 | Monthly spend flash report (top categories + YoY) | spendesk_analyze_spend | 87 | ? | ? |
| C3 | Budget vs Actual by cost center | **get_budgets** (missing) | 15 | ? | ? |
| C4 | AP cash flow forecast (30/60/90d) | get_payables, spendesk_analyze_spend | 70 | ? | ? |
| C5 | Blocked approvals (invoices > Xd) | get_payables (status + date filter) | 72 | ? | ? |
| C6 | Finance team KPIs (turnaround times, approval rate) | **Payable.approvedAt** (missing) | 20 | ? | ? |
| C7 | Multi-entity spend consolidation | list_companies, spendesk_analyze_spend | 78 | ? | ? |
| C8 | Supplier concentration risk (Pareto) | spendesk_analyze_spend, get_suppliers | 80 | ? | ? |
| C9 | Spend policy compliance | get_payables, list_cards | 68 | ? | ? |
| C10 | Automated board pack | Out of MCP scope | 10 | ? | ? |

#### Controller (10 cases)

| # | Use case | Required tools | Previous score | Current score | Ξ” |
|---|-------------|---------------|:---------------:|:------------:|:-:|
| CT1 | Month-end close checklist | get_payables, get_settlements, spendesk_get_due_invoices | 87 | ? | ? |
| CT2 | Settlement reconciliation vs GL export | get_settlements | 85 | ? | ? |
| CT3 | Duplicate invoice detection | get_payables, get_supplier_by_id | 65 | ? | ? |
| CT4 | GL mapping validation | get_payables, get_chart_of_accounts | 73 | ? | ? |
| CT5 | Complete accounting export reconciliation | get_payables (date filters) | 87 | ? | ? |
| CT6 | Invoice audit trail (who approved, when) | **get_payable_events** (missing) | 15 | ? | ? |
| CT7 | Attachment validity control | get_payable_attachments | 87 | ? | ? |
| CT8 | FEC data preparation | get_payables, get_chart_of_accounts | 55 | ? | ? |
| CT9 | End-of-period accruals | get_payables | 78 | ? | ? |
| CT10 | Bank reconciliation | **get_bank_transactions** (missing) | 10 | ? | ? |

#### AP Manager (10 cases)

| # | Use case | Required tools | Previous score | Current score | Ξ” |
|---|-------------|---------------|:---------------:|:------------:|:-:|
| AP1 | AP queue (priority invoices) | spendesk_get_due_invoices, get_suppliers | 83 | ? | ? |
| AP2 | Supplier onboarding audit | get_suppliers, get_payables | 85 | ? | ? |
| AP3 | Detailed supplier outstanding balance analysis | get_payables, get_suppliers | 87 | ? | ? |
| AP4 | Batch approval (approve N invoices) | **approve_payables** (missing) | 5 | ? | ? |
| AP5 | Payment SLA vs contractual terms | **Supplier.paymentTerms** (missing) | 55 | ? | ? |
| AP6 | At-risk suppliers (rejections, disputes) | **Payable.rejectionCount** (missing) | 20 | ? | ? |
| AP7 | Invoice ↔ PO matching (3-way) | get_payables, get_purchase_orders | 72 | ? | ? |
| AP8 | DPO (Days Payable Outstanding) | get_payables | 70 | ? | ? |
| AP9 | Approved supplier catalog | get_suppliers | 88 | ? | ? |
| AP10 | Claim / duplicate detection | get_payables | 65 | ? | ? |

#### Finance Analyst (10 cases)

| # | Use case | Required tools | Previous score | Current score | Ξ” |
|---|-------------|---------------|:---------------:|:------------:|:-:|
| FA1 | Spend analysis by department (MoM) | spendesk_analyze_spend Γ— 3-6 months | 83 | ? | ? |
| FA2 | Category benchmark vs previous period | spendesk_analyze_spend | 83 | ? | ? |
| FA3 | Anomaly detection (spend outliers) | get_payables, spendesk_analyze_spend | 70 | ? | ? |
| FA4 | Supplier ROI | Out of Spendesk scope | 10 | ? | ? |
| FA5 | SaaS spend analysis + growth | get_payables (subscription), get_suppliers | 83 | ? | ? |
| FA6 | Spend by employee (top spenders) | spendesk_analyze_spend, get_users | 78 | ? | ? |
| FA7 | Tail spend (long-tail supplier analysis) | spendesk_analyze_spend, get_suppliers | 75 | ? | ? |
| FA8 | Year-end forecast (YTD extrapolation) | spendesk_analyze_spend | 73 | ? | ? |
| FA9 | Hidden cost analysis (bank fees) | **Payable.payableSubType** (missing) | 25 | ? | ? |
| FA10 | Multi-source finance reporting consolidation | list_companies, spendesk_analyze_spend | 78 | ? | ? |

#### Procurement (10 cases)

| # | Use case | Required tools | Previous score | Current score | Ξ” |
|---|-------------|---------------|:---------------:|:------------:|:-:|
| P1 | Open PO tracking (% consumed, alerts) | get_purchase_orders | 87 | ? | ? |
| P2 | PO budget overrun alert | get_purchase_orders | 87 | ? | ? |
| P3 | Inactive POs (open without invoice > 60d) | get_purchase_orders, get_payables | 78 | ? | ? |
| P4 | Supplier purchase consolidation (negotiation) | spendesk_analyze_spend, get_suppliers | 85 | ? | ? |
| P5 | Maverick spend (off-PO spend) | get_payables, get_purchase_orders | 68 | ? | ? |
| P6 | Supplier due diligence | get_suppliers | 85 | ? | ? |
| P7 | Pending purchase requests (aging) | get_requests | 80 | ? | ? |
| P8 | Supplier concentration risk | spendesk_analyze_spend | 82 | ? | ? |
| P9 | Contract renewals (POs nearing term) | **PO.contractEndDate** (missing) | 55 | ? | ? |
| P10 | Purchasing category catalog | get_expense_categories, spendesk_analyze_spend | 80 | ? | ? |

---

## Phase 3 β€” Calculating overall coverage

```
For each persona, calculate:
  Cases A (β‰₯80): X/10
  Cases B (60-79): X/10
  Cases C (40-59): X/10
  Cases D (≀39): X/10
  Average score: (sum of scores) / 10
  Coverage (A+B): X/10

Overall coverage = (number of cases β‰₯60 out of 50) / 50 Γ— 100

Compare with the previous analysis:
  Previous coverage: 69%
  Current coverage: X%
  Change: +X pts
```

---

## Phase 4 β€” Detecting changes vs the previous analysis

### Compare tool by tool

```
For each tool inventoried in Phase 1:
  Compare the fields returned with the "missing fields" listed in mcp-gap-analysis.md
  
  For each previously identified missing field:
    If the field NOW EXISTS β†’ 🟒 GAP CLOSED
    If the field is STILL absent β†’ πŸ”΄ PERSISTENT GAP

For each newly discovered tool:
    β†’ ⭐ NEW TOOL: X β€” impacts use cases: [list]
```

### Assess the impact of new fields/tools

```
For each CLOSED GAP or NEW TOOL:
  Identify the impacted use cases (refer to the Phase 2 grids)
  Calculate the new score for these use cases
  Explain why the score changed
```

---

## Phase 5 β€” Regenerating the mcp-gap-analysis.md report

Write the updated `scenarios/mcp-gap-analysis.md` file with:

### Structure of the report to produce

```markdown
# Spendesk MCP β€” Gap analysis by persona

> Version: [today's date]
> Previous version: [date of previous analysis]
> Coverage evolution: [X%] β†’ [Y%] (+Z pts)

## Summary of changes since the last analysis

### Gaps closed (newly detected capabilities)
- [tool/field]: impact on [use cases]

### Newly detected gaps
- [missing tool/field]: impact on [use cases]

### Persistent gaps (not yet addressed)
- [tool/field]: X months without change

## Executive summary
[coverage table by persona β€” updated]

## Inventory of available MCP tools
[updated with actual fields]

## Analysis by persona
[updated with new scores]

## Gap taxonomy
[updated β€” remove closed gaps, add new ones]

## Recommended roadmap
[updated β€” recalculate phases based on remaining gaps]

## UX friction points
[updated if new points identified]
```

---

## Usage notes

- **Run this skill after every MCP release** to automatically detect new fields or tools
- **Estimated duration:** 15–25 minutes (MCP calls + analysis + generation)
- **Output:** updated `scenarios/mcp-gap-analysis.md` + summary of changes in chat
- **Tracking:** Each version of the report includes its date to allow historical tracking

## Example prompts
- "Run the MCP audit β€” the MCP was just updated with new fields"
- "Redo the MCP coverage analysis to see what's changed"
- "Are there any new Spendesk MCP tools available?"

How to install this skill

/
  1. 1
    Download the file s00-mcp-coverage-audit.md using the button above.
  2. 2
    Place the file in the .claude/ directory of your project (or ~/.claude/ for a global install).
    cp s00-mcp-coverage-audit.md .claude/s00-mcp-coverage-audit.md
  3. 3
    Use in Claude Code β€” the skill is automatically discovered. Describe your need in natural language and Claude will apply the skill instructions.
πŸ’‘ Make sure the Spendesk MCP is configured in your .claude/settings.json with the tools get_payables, get_suppliers, get_purchase_orders, get_requests, get_cost_centers, get_users, get_settlements, get_wallet_summary, list_companies, spendesk_analyze_spend, spendesk_get_due_invoices, get_chart_of_accounts, get_expense_categories, get_analytical_fields, list_cards, get_wallet_loads, get_payable_attachments.

Similar skills

90/100Β·πŸ“… WeeklyΒ·Beginner

Card requests via get_requests

Explains how to use get_requests for card requests and why expense reimbursements don't appear there. Avoids a frequent source of confusion between two distinct workflows.

ControllerFinance Analyst
90/100Β·πŸ” Ad hocΒ·Intermediate

Active vs archived cost centers

Distinguishes active cost centers from archived ones with correct use of get_cost_centers. Avoids the counter-intuitive isArchived vs isActive naming convention pitfall.

ControllerFinance Analyst
β˜… Top
89/100Β·πŸ” Ad hocΒ·Intermediate

Skill Builder

Aide un client Γ  transformer un besoin mΓ©tier prΓ©cis (contexte, contraintes, format de sortie souhaitΓ©) en un nouveau skill Claude sur mesure, prΓͺt Γ  l'emploi sur le MCP Spendesk

CFOControllerAP Manager