Skip to main content
Glama
svarun115

Splitwise MCP Server

by svarun115

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation5/5

    Each tool targets a distinct resource and action: groups vs expenses vs categories, and within expenses, the CRUD operations are clearly separated. There is no ambiguity between tools.

    Naming Consistency5/5

    All tools follow a consistent 'splitwise_verb_noun' pattern using snake_case, with verbs like get, create, update, delete, restore, and nouns like groups, group, expenses, expense, categories. No mixing of conventions.

    Tool Count5/5

    9 tools is well-scoped for an expense sharing server. It covers group retrieval, expense management (CRUD + restore), and categories without being too sparse or overwhelming.

    Completeness4/5

    The tool set provides robust expense management (create, read, update, delete, restore) and group info retrieval. However, missing group CRUD (create/update/delete) and friend management, which are minor gaps for the core expense tracking domain.

  • Average 3.7/5 across 9 of 9 tools scored. Lowest: 2.9/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 3 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    With no annotations provided, the description must fully disclose behavioral traits. It only mentions list and filter options, but omits key details like pagination behavior, sorting order, data freshness, or read-only nature. Significant gaps remain.

    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 description is concise with two front-loaded sentences. Every word earns its place, though it could be more informative without significant added length.

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

    Completeness2/5

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

    Given 8 optional parameters, no required params, no output schema, and no annotations, the description is incomplete. An agent needs more context on pagination defaults, result ordering, and data scope to use the tool effectively.

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

    Parameters3/5

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

    Schema coverage is 100%, so the baseline is 3. The description summarizes filter types (group, friend, date range) but adds no new meaning beyond the schema's parameter descriptions, which already include ISO 8601 format hints.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states it lists expenses with optional filters, which distinguishes it from sibling tools like get_expense (singular) or create_expense. The verb 'list' and plural 'expenses' imply multiple results, but it could explicitly contrast with get_expense.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives like get_expense for a single expense, or when not to use it. The description lacks context for selecting this tool among siblings.

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

  • Behavior2/5

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

    No annotations are provided, so the description bears full burden. It states 'permanently' but does not clarify if deletion is reversible via restore_expense, nor does it mention permissions or side effects. This lack of detail reduces transparency.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Extremely concise: two words with no filler. Every word adds value.

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

    Completeness2/5

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

    For a destructive tool with no annotations or output schema, the description is insufficient. It lacks information on reversibility, authorization requirements, and potential side effects, leaving the agent with incomplete context.

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

    Parameters3/5

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

    Schema description coverage is 100%, and the description adds no extra meaning beyond what the schema already says about the 'id' parameter. Baseline score of 3 is appropriate.

    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 clearly states the action (delete) and resource (an expense), and the word 'permanently' distinguishes it from reversible operations like restore_expense.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives (e.g., update_expense or restore_expense). No prerequisites or conditions provided, leaving the agent to infer usage.

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

  • Behavior2/5

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

    No annotations are provided, and the description does not disclose behavioral traits such as whether the restore is reversible, what happens if the expense is not deleted, or if any permissions are required.

    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 description is a single concise sentence that front-loads the main action. While efficient, it could be slightly expanded to include return behavior without losing conciseness.

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

    Completeness3/5

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

    Given the simple one-parameter tool and no output schema, the description is minimally adequate but lacks context about success/failure responses or idempotency.

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

    Parameters3/5

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

    The input schema has 100% coverage with a clear parameter description. The tool's description adds no additional meaning beyond the schema, meeting the baseline score of 3.

    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 clearly states the action (restore) and resource (deleted expense), distinguishing it from sibling tools like delete or get expenses.

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

    Usage Guidelines3/5

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

    No explicit guidance on when to use this tool versus alternatives, but the name and context imply it is for undeleting expenses; lacking specific conditions or exclusions.

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

  • Behavior2/5

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

    With no annotations, the description must fully disclose behavior. It states output includes 'all users and their shares' but omits typical side effects (none for reads), error handling, permission requirements, or rate limits.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    A single, clear sentence with no fluff. Front-loaded with the purpose.

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

    Completeness4/5

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

    The tool is simple (one param, no output schema). The description gives a reasonable picture of what to expect ('detailed information including all users and their shares'), though it could mention other fields like cost or date.

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

    Parameters3/5

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

    Schema coverage is 100% with one parameter ('id') described as 'The expense ID'. The description does not add additional meaning beyond the schema.

    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 clearly states the verb 'Get', the resource 'expense', and specifies the scope ('detailed information including all users and their shares'). It effectively distinguishes from sibling tools like splitwise_get_expenses (list) and splitwise_delete_expense.

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

    Usage Guidelines3/5

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

    No explicit guidance on when to use this tool versus alternatives. The context is implied for fetching a single expense, but no exclusions or prerequisites are mentioned.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It states the tool returns 'detailed information' but does not disclose error handling, idempotency, or rate limits. For a simple read operation, this is adequate but minimal.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Single sentence with front-loaded verb and resource. No wasted words; every part is informative.

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

    Completeness4/5

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

    Given no output schema, the description provides useful output expectations (members, balances, settings). For a single-parameter get tool, this is nearly complete. Could list more fields but not necessary for basic understanding.

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

    Parameters3/5

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

    Schema coverage is 100% with a clear description for the 'id' parameter. The description adds value by listing included fields (members, balances, settings), but this is about output rather than parameters. Baseline 3 is appropriate.

    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 clearly states 'Get detailed information about a specific group' with verb and resource, and includes specifics (members, balances, settings). It distinguishes from siblings like splitwise_get_groups (list groups) and splitwise_get_expenses (expenses).

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

    Usage Guidelines3/5

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

    The description implies usage when needing group details, but does not explicitly state when to use or avoid this tool versus alternatives. No exclusions or prerequisites are mentioned.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden. It discloses that the tool creates an expense and splits options, but fails to mention side effects, authorization needs, or return behavior. More detail on what happens upon creation is needed.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two concise sentences. The first sentence states the core purpose, and the second expands on the key parameter behavior. No wasted words.

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

    Completeness3/5

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

    Given 10 parameters (2 required) and no output schema, the description adequately covers the splitting logic but omits explanation of many optional parameters (e.g., repeat_interval, category_id) and the return value. It is minimally complete.

    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%, but the description adds value by clarifying the purpose of the users array for custom shares and implying that split_equally negates the need for users. This goes beyond the schema descriptions.

    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 clearly states 'Create a new expense' with a specific verb and resource. It also distinguishes between equal splits and custom shares, differentiating this create tool from related siblings like update, delete, and get.

    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 explains when to use equal splitting vs. custom shares, providing clear context. However, it does not explicitly mention prerequisites (e.g., needing a group ID) or alternative tools for other operations.

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

  • Behavior3/5

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

    The description indicates a read-only operation with no side effects, but lacks details such as pagination, sorting, or any potential restrictions. Without annotations, more behavioral context would be beneficial.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two concise sentences with no wasted words. The description is front-loaded and efficient.

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

    Completeness4/5

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

    Given no parameters, no output schema, and a simple purpose, the description is nearly complete. It could mention return format or typical usage more explicitly, but overall adequate.

    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?

    There are no parameters, so the schema provides full coverage. The description adds value by mentioning subcategory IDs, which hints at the output structure. Baseline 4 is appropriate.

    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 clearly states it gets a list of expense categories from Splitwise. It distinguishes from sibling tools (groups and expenses) by being the only category-related tool.

    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?

    It provides a specific usage hint: 'Use subcategory IDs when creating expenses,' which guides the agent on how to use the output. However, it does not explicitly state when not to use this tool or mention alternatives, though none exist in siblings.

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

  • Behavior3/5

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

    No annotations are provided, so the description must disclose behavioral traits. It explains the conceptual meaning of groups but does not explicitly state that the operation is read-only, non-destructive, or has no side effects. The name 'get_groups' implies safety, but the description could be more explicit.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two short sentences that are front-loaded with the main action. The first sentence states what it does, the second provides clarifying context. No wasted words, every sentence adds value.

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

    Completeness4/5

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

    Given the tool's simplicity (no parameters, no output schema), the description is complete enough. It explains the purpose and what a group represents. However, it does not mention potential limitations like pagination or data freshness, which might be relevant for a list operation.

    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?

    There are zero parameters, and the schema coverage is 100%. The description does not need to add parameter details. Baseline score of 4 is appropriate as the description explains the tool's purpose without needing to elaborate on parameters.

    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?

    Description clearly states the action 'List' and the resource 'all groups for the current user'. It also distinguishes from the sibling tool 'splitwise_get_group' by implying it returns a list rather than a single group. The explanation of what groups are adds context, making the purpose specific and unambiguous.

    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 implies the tool is for listing all groups, and siblings like 'splitwise_get_group' are for specific groups, but it does not explicitly state when to use this tool over alternatives. No exclusion criteria or fallback guidance is provided, though the simplicity reduces the need.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses a key behavior: providing a users array overwrites all existing shares. However, it does not mention other important aspects such as idempotency, authorization requirements, or what the tool returns. Given the expected update behavior, the description is adequate but not comprehensive.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description consists of two concise sentences with no redundancy. The first sentence states the primary purpose, and the second provides critical usage guidance. Every word earns its place, making it highly efficient for an AI agent to parse.

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

    Completeness4/5

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

    Given the moderate complexity (10 parameters, all documented in schema) and no output schema, the description covers the most important behavioral aspects. It lacks explanation about return values, but since no output schema exists, this is a minor gap. The guidance on partial updates and users array overwrite is valuable. Overall, the description is complete enough for an agent to use correctly.

    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%, so baseline is 3. The description adds practical value beyond the schema by explaining usage patterns: 'Only include fields that are changing' and the specific behavior of the users array. This helps the agent decide which parameters to include and understand side effects.

    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 clearly states the tool's purpose: 'Update an existing expense.' It distinguishes from sibling tools like splitwise_create_expense and splitwise_delete_expense by focusing on modification. Further nuance is added with guidance on updating partial fields and the behavior of the users array.

    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 provides clear context: use this tool to update an existing expense. It advises to 'only include fields that are changing' and warns about overwriting shares when providing users array. While it doesn't explicitly list when not to use or alternatives, the sibling tools offer obvious alternatives (create, delete) and the guidance is sufficient for an update tool.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

splitwise-mcp-server MCP server

Copy to your README.md:

Score Badge

splitwise-mcp-server MCP server

Copy to your README.md:

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/svarun115/splitwise-mcp-server'

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