Expense Tracker MCP
Expense Tracker MCP
지출 추적을 위한 Model Context Protocol (MCP) 서버입니다.
설치
사전 요구 사항
Python 3.10
Node.js (MCP Inspector용)
uv (Python 패키지 관리자)
설정
가상 환경을 생성합니다:
python -m venv venv가상 환경을 활성화합니다:
.\venv\Scripts\Activate.ps1uv를 설치합니다:
pip install uv프로젝트를 초기화합니다:
uv init .의존성을 설치합니다:
uv add fastmcp --activeRelated MCP server: Expense Tracker MCP
사용 방법
MCP 서버 실행
MCP 서버를 실행하려면:
uv run main.pyMCP Inspector로 테스트하기
MCP Inspector를 사용하여 서버를 테스트하려면:
npx @modelcontextprotocol/inspector uv run main.py그러면 MCP Inspector 웹 인터페이스가 http://127.0.0.1:6274에서 시작됩니다.
프로젝트 구조
expense-tracker-mcp/
├── main.py # Entry point for the MCP server
├── src/
│ └── expense_tracker_mcp/
│ ├── __init__.py
│ └── server.py # MCP server implementation
├── pyproject.toml # Project configuration
└── README.md # This file기능
MCP 프로토콜을 통한 지출 추적
간편한 서버 설정을 위한 FastMCP 통합
MCP Inspector와 호환되어 테스트 가능
라이선스
MIT
Available Tools
2 toolsaddA
Add two numbers together.
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | The first number. | |
| b | Yes | The second number. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. 'Add two numbers together' clearly implies a pure, deterministic, side-effect-free arithmetic operation. It does not mention potential precision or rounding behavior, but the openly simple scope makes this a minor omission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is six words long, front-loaded with the action verb, and contains zero filler. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter arithmetic tool, the description combined with full parameter schemas and an output schema is complete. The agent has everything needed to invoke add correctly and infer what the tool will do.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes both parameters ('The first number' and 'The second number'), so schema coverage is 100%. The description adds no additional parameter-level meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation ('Add') and the resource ('two numbers'), making it immediately obvious what the tool does. It also inherently distinguishes itself from the sibling tool 'multiply' by describing addition rather than multiplication.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that the tool should be used when the desired operation is addition, but it does not explicitly mention when not to use it or name the sibling 'multiply'. For a simple two-tool arithmetic context this is sufficient, but there is no explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
multiplyA
Multiply two numbers together.
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | The first number. | |
| b | Yes | The second number. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must stand alone. It describes the basic behavior but does not disclose any edge cases or result details. For such a simple pure operation this is minimally sufficient, but it is not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no fluff. It is perfectly sized for the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With simple required parameters, full schema coverage, and an output schema present, the description is enough to safely invoke the tool. Some additional edge-case context would be needed for a very complex tool, but it isn't necessary here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes both 'a' and 'b' with 100% coverage, so the tool description correctly matches the schema. The description itself adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation: 'Multiply two numbers together.' This is a specific verb and resource, and the operation is distinct from the sibling tool 'add' even though it does not explicitly mention it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use guidance or alternative comparison is provided. However, the implied usage is straightforward: an agent would invoke this when a product of two numbers is required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.1.0- First observed
add - First observed
multiply
TDQS
Scored across 2 tools
Add and multiply are mathematically distinct operations with no behavioral overlap. An agent would never confuse which tool to call for a given arithmetic operation.
Both tools use a simple, consistent single-verb naming pattern in lowercase. This is predictable and easy to remember.
Two tools can be appropriate for a narrow utility, but for an 'Expense Tracker MCP' this count is far too small. The tools do not align with the server's stated purpose of expense tracking at all.
The expense tracking domain requires operations like adding expenses, listing entries, editing, and deleting. The provided add and multiply tools cover none of this domain, leaving the server severely incomplete.
Maintenance
Related MCP Connectors
- ManiloOAuthapp.manilo
Log, query, and edit expenses, budgets, and accounts in Manilo from any MCP-compatible AI assistant.
Demo personal-finance MCP App: spending, subscriptions, and net worth as interactive UI.
Paid remote MCP for context budgets, progressive loading, schema slimming, and readiness.
Hosted MCP server for Mini Accountant: invoices, expenses, customers, analytics, tax estimates.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables users to track personal expenses through natural language interactions with comprehensive category support and financial summaries. Provides both local and remote MCP server options with SQLite storage for fast expense management operations.-
- FlicenseBqualityDmaintenanceA Model Context Protocol server designed for tracking and managing personal or business expenses. It enables users to log financial transactions and organize expenditure data through integrated tools.4-
- AlicenseAqualityDmaintenancePersonal expense tracker MCP server that enables tracking expenses, income, budgets, and savings goals through natural language.101MIT
- FlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server for tracking personal expenses. This server provides tools to add, list, and summarize expenses, utilizing a local SQLite database for storage.3-