Skip to main content
Glama
trustxai

amazing-splitwise-mcp

by trustxai

splitwise_get_notifications

Read-onlyIdempotent

List recent Splitwise notifications newest first to see what changed, including added or edited expenses and groups. Use it to find source IDs for recent activity.

Instructions

List your recent Splitwise activity (notifications), newest first.

Calls GET /get_notifications and renders one row per notification: when it happened, what kind it is (expense added/updated/deleted, comment added, group and friend changes, …), its text with the HTML flattened (a struck-through old value shows as ~~old~~), what it is about (source type, id and URL) and who triggered it (user N). Codes Splitwise has not documented show as unknown (N).

When to Use:

  • "What changed in my Splitwise lately?" / "Did anyone add an expense this week?"

  • To find the id of a recently added or edited expense or group (the source column).

When NOT to Use:

  • To list expenses with filters (group, friend, dates) — use splitwise_get_expenses.

  • To read the comments on one expense — use splitwise_get_comments.

  • To see who owes whom — use splitwise_get_balances.

Returns: Markdown: | When | Type | Content | Source | By | Id |, at most 50 rows (the rest counted; each text capped at 2,000 characters, the cut counted). JSON: {"count", "limit", "updated_after", "type_names", "notifications": [raw objects]} — content stays raw HTML there, and type_names maps the codes present to their names.

Pagination: There is no offset. limit returns the newest N (0 = the server's maximum, which can be large); updated_after returns only what changed since a point in time (e.g. your last check). Combine them to keep the response small.

Examples:

  • params = {} (the 20 most recent)

  • params = {"updated_after": "2026-10-01", "limit": 50}

  • params = {"limit": 5, "response_format": "json"}

Error Handling: A malformed updated_after or a limit outside 0–100 is rejected before any call. 401 means the API key is missing or was regenerated. Errors come back as an Error ... string, never raised.

Input Schema

NameRequiredDescriptionDefault
paramsYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description goes well beyond them: 50-row cap with overflow counted, 2,000-character text cap, HTML flattening with `~~old~~` convention, undocumented codes rendered as `unknown (N)`, pre-call validation of inputs, and 401/error-as-string semantics.

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 purpose is front-loaded and the sectioned layout (When to Use / When NOT / Returns / Pagination / Examples / Error Handling) is easy to scan. It is somewhat long for a three-parameter read tool and re-states a few details that also live in the schema, but almost every line is actionable.

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

Completeness5/5

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

For a read-only list tool with an output schema present, the definition supplies everything an agent needs: trigger conditions, exclusions with alternatives, pagination model, output shapes for both formats, and failure modes. Nothing material is missing.

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

Parameters5/5

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

With schema description coverage reported at 0%, the description carries the load and does so fully: `limit` (0 = server maximum, can be large, prefer a number), `updated_after` (ISO-8601, bare date = midnight UTC), and `response_format` behavior, plus concrete parameter examples and guidance to combine the two.

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 first sentence states a specific verb (list) plus resource (recent Splitwise activity/notifications) and ordering (newest first), then details exactly what each row contains. It is immediately distinguishable from siblings like splitwise_get_expenses and splitwise_get_comments.

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

Usage Guidelines5/5

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

There are explicit 'When to Use' and 'When NOT to Use' sections, and the negative cases name the correct alternative for each scenario (splitwise_get_expenses, splitwise_get_comments, splitwise_get_balances). No inference is left to the agent.

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