feat: add initial implementation of Finance MCP server with REST API and setup instructions (ref #16)

This commit is contained in:
Peter Wood
2025-05-02 23:51:18 -04:00
parent 58e8dbc43c
commit 06dfbf9965
5 changed files with 413 additions and 0 deletions

37
mcp/mcp_server.py Normal file
View File

@@ -0,0 +1,37 @@
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from datetime import datetime
from typing import List, Optional
app = FastAPI(title="Finance MCP Server")
class Transaction(BaseModel):
id: Optional[int]
amount: float
description: str
timestamp: datetime = datetime.now()
category: str
# In-memory storage (replace with database in production)
transactions: List[Transaction] = []
@app.get("/")
async def root():
return {"status": "running", "service": "Finance MCP Server"}
@app.get("/transactions")
async def get_transactions():
return transactions
@app.post("/transactions")
async def create_transaction(transaction: Transaction):
transaction.id = len(transactions) + 1
transactions.append(transaction)
return transaction
@app.get("/transactions/{transaction_id}")
async def get_transaction(transaction_id: int):
for tx in transactions:
if tx.id == transaction_id:
return tx
raise HTTPException(status_code=404, detail="Transaction not found")