joho/pocketsmith-mcp — 11★ on GitHub (TypeScript). MCP for managing your budget etc with pocketsmith
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
An MCP (Model Context Protocol) server for managing budgets via the PocketSmith API.
Built on the cyanheads/mcp-ts-template, this server follows a modular architecture with robust error handling, logging, and security features while providing comprehensive PocketSmith integration.
See POCKETSMITH_README.md for complete PocketSmith-specific documentation.
🔒 Security Considerations
⚠️ CRITICAL: This server provides full access to your PocketSmith financial data. Please read our complete Security Guide before installation.
Security Quick Start
This server handles highly sensitive financial data
Your PocketSmith API key provides complete access to your financial accounts
Only use with trusted MCP clients and secure configurations
Enable confirmation prompts for all financial operations
Essential Security Checklist
Read the complete SECURITY.md documentation
Store API key in secure environment variables only
Use stdio transport for single-user scenarios
Never add financial operations to auto-approve lists
Set up regular API key rotation (recommended: every 90 days)
Monitor your PocketSmith account for unauthorized changes
🚨 Never share your API key or use this server on untrusted systems.
Quick Start
Install dependencies:
npm install
Set up environment: Copy .env.example to .env and add your PocketSmith API key
Build:
npm run build
Run:
npm run start:stdio # For MCP clients
npm run start:http # For web applications
Available Tools
Account Management
get_accounts - View account balances and information
The following documentation is from the original cyanheads/mcp-ts-template:
Jumpstart your Model Context Protocol (MCP) development with this comprehensive TypeScript Template for building autonomous agents, servers, and clients.
This template provides a solid, beginner-friendly foundation for building all components of the MCP ecosystem, adhering to the MCP 2025-06-18 specification. It includes a powerful agent framework, a fully-featured server, a robust client, production-ready utilities, and clear documentation to get you up and running quickly.
🏛️ Three-Part Architecture
This template is organized into three primary, interconnected components:
🤖 Agent (src/agent/): An autonomous agent framework. The agent can connect to multiple MCP servers, discover their tools, and use them to accomplish complex tasks based on a user's prompt. Use this as a starting point for your agents.
🔌 MCP Server (src/mcp-server/): An extensible MCP server that can host custom tools and resources, making them available to agents and other clients.
💻 MCP Client (src/mcp-client/): A robust client for connecting to and interacting with any MCP-compliant server. The agent uses this client to communicate with the outside world.
✨ Key Features
Feature Area
Description
Key Components / Location
🤖 Agent Framework
Core Agent class and CLI for running autonomous agents that connect to MCP servers and use their tools to achieve goals.
src/agent/
🔌 MCP Server
Functional server with example tools (EchoTool, CatFactFetcher) and an EchoResource. Supports stdio and Streamable HTTP transports.
src/mcp-server/
💻 MCP Client
Working client aligned with MCP 2025-03-26 spec. Connects via mcp-config.json. Includes detailed comments and isolated connection management.
Captures raw requests and responses for all external LLM provider interactions to a dedicated interactions.log file for full traceability.
src/utils/internal/logger.ts
🤖 Agent Ready
Includes a .clinerules developer cheatsheet tailored for LLM coding agents.
.clinerules
🛠️ Utility Scripts
Scripts for cleaning builds, setting executable permissions, generating directory trees, and fetching OpenAPI specs.
scripts/
Services
Reusable modules for LLM (OpenRouter) and data storage (DuckDB) integration, with examples.
src/services/, src/storage/duckdbExample.ts
🌟 Projects Using This Template
This template is already powering several MCP servers, demonstrating its flexibility and robustness:
Project
Description
clinicaltrialsgov-mcp-server
Provides an LLM-friendly interface to the official ClinicalTrials.gov v2 API, enabling agents to analyze clinical study data.
pubmed-mcp-server
Enables AI agents to search, retrieve, and visualize biomedical literature from PubMed via NCBI E-utilities.
git-mcp-server
Provides an enterprise-ready MCP interface for Git operations, allowing agents to manage repositories programmatically.
obsidian-mcp-server
Allows AI agents to read, write, search, and manage notes in Obsidian via the Local REST API plugin.
atlas-mcp-server
An advanced task and knowledge management system with a Neo4j backend for structured data organization.
filesystem-mcp-server
Offers platform-agnostic file system capabilities for AI agents, including advanced search and directory traversal.
workflows-mcp-server
A declarative workflow engine that allows agents to execute complex, multi-step automations from simple YAML files.
Note: toolkit-mcp-server was built on an older version of this template and is pending updates.
You can also see my GitHub profile for additional MCP servers I've created.
Quick Start
1. Installation
Clone the repository and install dependencies:
git clone https://github.com/cyanheads/mcp-ts-template.git
cd mcp-ts-template
npm install
2. Build the Project
npm run build
# Or use 'npm run rebuild' for a clean install
3. Running the Components
Running the MCP Server
You can run the included MCP server to make its tools available.
Via Stdio (Default):
npm run start:server
Via Streamable HTTP:
npm run start:server:http
Running the Agent
The agent can be run from the command line to perform tasks. It will automatically connect to the servers defined in src/mcp-client/client-config/mcp-config.json. If running the agent, you must have the MCP config set up correctly and your openrouter API key configured in .env.
npm run start:agent "Your prompt here"
# Example:
npm run start:agent "Use the echo tool to say hello world and then get a cat fact."
⚙️ Configuration
Server Configuration (Environment Variables)
Configure the MCP server's behavior using these environment variables:
Variable
Description
Default
MCP_TRANSPORT_TYPE
Server transport: stdio or http.
stdio
MCP_HTTP_PORT
Port for the HTTP server (if MCP_TRANSPORT_TYPE=http).
3010
MCP_HTTP_HOST
Host address for the HTTP server (if MCP_TRANSPORT_TYPE=http).
127.0.0.1
MCP_ALLOWED_ORIGINS
Comma-separated allowed origins for CORS (if MCP_TRANSPORT_TYPE=http).
(none)
MCP_AUTH_MODE
Authentication mode for HTTP: jwt (default) or oauth.
jwt
MCP_AUTH_SECRET_KEY
Required for jwt mode. Secret key (min 32 chars) for signing/verifying auth tokens.
(none - MUST be set in production)
OAUTH_ISSUER_URL
Required for oauth mode. The issuer URL of your authorization server.
(none)
OAUTH_AUDIENCE
Required for oauth mode. The audience identifier for this MCP server.
(none)
OPENROUTER_API_KEY
API key for OpenRouter.ai service. Required for the agent to function.
(none)
Client & Agent Configuration
The agent uses the MCP client to connect to servers. This is configured in src/mcp-client/client-config/mcp-config.json. You must list all MCP servers the agent should connect to in this file.
For a detailed guide, see the Client Configuration README.
🏗️ Project Structure
src/agent/: Contains the core agent framework, including the Agent class and a CLI for running the agent.
src/mcp-client/: Implements the MCP client logic for connecting to and interacting with external MCP servers.
src/mcp-server/: Contains the MCP server implementation, including example tools, resources, and transport handlers.
src/config/: Handles loading and validation of environment variables and application configuration.
src/services/: Provides reusable modules for integrating with external services (DuckDB, OpenRouter).
src/types-global/: Defines shared TypeScript interfaces and type definitions.
src/utils/: A collection of core utilities (logging, error handling, security, etc.).
src/index.ts: The main entry point for the application, responsible for initializing and starting the MCP server.
Explore the full structure yourself:
See the current file tree in docs/tree.md or generate it dynamically:
npm run tree
🧩 Extending the System
Adding Tools to the Server
For detailed guidance on how to add your own custom Tools and Resources to the MCP server, please see the Server Extension Guide.
Modifying the Agent
The agent's core logic is in src/agent/agent-core/agent.ts. You can modify its system prompt, the models it uses (google/gemini-2.5-flash by default), and its decision-making loop to change its behavior.
🌍 Explore More MCP Resources
Looking for more examples, guides, and pre-built MCP servers? Check out the companion repository:
➡️ cyanheads/model-context-protocol-resources
📜 License
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
TopGit's last sync did not record any GitHub topics for joho/pocketsmith-mcp. GitHub topics appear in the right sidebar of a repository page; that's the authoritative place to check.
How active is development on joho/pocketsmith-mcp?
The most recent commit recorded on joho/pocketsmith-mcp was 1.0 years ago, based on the GitHub push timestamp. The repository has 5 forks — one of the better signals of community interest.
How many stars does joho/pocketsmith-mcp have?
joho/pocketsmith-mcp has 11 GitHub stars — refresh the page for the live number, or check github.com/joho/pocketsmith-mcp. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
What language is joho/pocketsmith-mcp written in?
joho/pocketsmith-mcp is written primarily in TypeScript. GitHub's language field is based on the largest share of bytes in the default branch.
Where do I read more about joho/pocketsmith-mcp?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/joho/pocketsmith-mcp is the definitive source.
Read full README in the tab above.
Is pocketsmith-mcp worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of pocketsmith-mcp.