Skip to main content
Glama
chrischall

splitwise-mcp

by chrischall

sw_get_current_user

Read-only

Fetches the authenticated Splitwise user's profile and returns their id for use in custom expense splits. Compact view provides basic details; full view returns the complete raw record.

Instructions

Get the authenticated Splitwise user's profile. Use the returned id when building custom expense splits. The compact default returns id, name (first_name + last_name joined), email and registration_status; pass view:'full' for Splitwise's raw record, which keeps first_name and last_name separate — the form sw_update_user takes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
viewNoResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact returns {id, name, email, registration_status, balance} per person — `name` is first_name + last_name joined, so the separate fields are on "full" only; "full" returns Splitwise's whole record.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed2 schema fields changedv2.4.0
    • addedInput schema / $schema
      Added value: +"http://json-schema.org/draft-07/schema#"
    • addedInput schema / properties / view
      Added value: +{
      +  "description": "Response shape: \"compact\" (default) drops fields the response already carries elsewhere; \"full\" returns every field this server understands. compact returns {id, name, email, registration_status, balance} per person — `name` is first_name + last_name joined, so the separate fields are on \"full\" only; \"full\" returns Splitwise's whole record.",
      +  "enum": [
      +    "compact",
      +    "full"
      +  ],
      +  "type": "string"
      +}
  2. First observedv2.1.5

TDQS

A4.4/5.0
Behavior4/5

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

With readOnlyHint=true already covering the safety profile, the description adds genuinely useful behavioral context: the compact/full response shapes, the name-joining behavior (first_name + last_name joined), and the compatibility note that sw_update_user expects the full form. It discloses output-shape behavior beyond what the annotation states, without contradicting the read-only hint.

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?

Three sentences, with the purpose front-loaded and no filler. Each sentence earns its place: purpose, compact shape, full-shape rationale. It is slightly dense and partially overlaps with the schema's view description, but it remains efficient and readable.

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 simple read-only tool with one optional enum parameter, a detailed parameter schema, and no output schema, the description covers everything an agent needs: purpose, return fields, view selection, and the downstream consumer (sw_update_user). No missing information would prevent a correct call or interpretation.

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?

Schema coverage is 100% and the schema's view description is already detailed, so the baseline is 3. The description adds extra meaning beyond the schema by explaining WHY full mode matters — 'the form sw_update_user takes' — which ties the parameter choice to a concrete downstream workflow. That added rationale justifies the 4.

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 opens with a specific verb+resource: 'Get the authenticated Splitwise user's profile.' The word 'authenticated' immediately distinguishes it from the sibling sw_get_user, and the downstream-use note ('Use the returned id when building custom expense splits') reinforces its distinct role. This is as clear a purpose statement as the tool could have.

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

Usage Guidelines4/5

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

The description gives clear usage context — this returns the authenticated user's profile and the id is meant for building custom expense splits — and it explains when to choose view:'full' (when the raw record with separate first_name/last_name is needed for sw_update_user). It does not explicitly state when NOT to use it or direct the agent to sw_get_user for other users, so it falls just short of a 5.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chrischall/splitwise-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server