Rabobank MCP Server Training
README.md
# Rabobank MCP-Server Training
Welcome to the **Rabobank MCP-Server Training** repository. This project contains a fully functional demo [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server built with **TypeScript** that you can use as a starting point during the training.
---
## What is MCP?
The **Model Context Protocol** is an open standard that allows AI assistants (like GitHub Copilot and Claude) to call external tools and data sources in a structured, secure way. An MCP server exposes _tools_, _resources_, and _prompts_ that any MCP-compatible client can discover and invoke.
```
┌──────────────┐ MCP (stdio/SSE) ┌─────────────────────┐
│ AI Client │ ◄──────────────────► │ Demo MCP Server │
│ (Copilot / │ │ (this repository) │
│ Claude …) │ └─────────────────────┘
└──────────────┘
```
---
## Demo tools included
| Tool | Description |
|------|-------------|
| `get_exchange_rate` | Returns a (mocked) EUR exchange rate for a given currency code |
| `calculate_mortgage` | Calculates the monthly mortgage payment given principal, annual rate and term |
| `get_branch_info` | Returns contact details for a mock Rabobank branch |
---
## Prerequisites
- [Node.js](https://nodejs.org/) v18 or higher
- npm (comes with Node.js)
---
## Quick start
```bash
# 1. Clone the repository
git clone https://github.com/RemseyMailjard/rabobank-mcp-server-training.git
cd rabobank-mcp-server-training
# 2. Install dependencies
npm install
# 3. Build
npm run build
# 4. Run (stdio)
node build/index.js
```
### Use with VS Code (GitHub Copilot)
The `.vscode/mcp.json` file is already configured. Open the project in VS Code and Copilot will automatically discover the server.
### Use with Claude for Desktop
Add the following entry to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"rabobank-demo": {
"command": "node",
"args": ["C:\\path\\to\\rabobank-mcp-server-training\\build\\index.js"]
}
}
}
```
---
## Project structure
```
rabobank-mcp-server-training/
├── src/
│ └── index.ts # MCP server implementation
├── build/ # Compiled output (after npm run build)
├── .vscode/
│ └── mcp.json # VS Code MCP configuration
├── .github/
│ └── copilot-instructions.md
├── package.json
├── tsconfig.json
└── README.md
```
---
## Exercises
During the training you will:
1. **Explore** the existing tools in `src/index.ts` and understand how they are registered.
2. **Add a new tool** – e.g. `get_interest_rate` that returns savings account interest rates.
3. **Add a resource** – expose a static JSON file with product information.
4. **Add a prompt** – create a reusable prompt template for a customer service scenario.
5. **Connect** the server to GitHub Copilot Chat or Claude for Desktop and test the tools interactively.
---
## Useful links
- [MCP Documentation](https://modelcontextprotocol.io/)
- [TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk)
- [MCP Inspector](https://github.com/modelcontextprotocol/inspector) – GUI for testing MCP servers
- [Claude for Desktop](https://claude.ai/download)
TDQS
A4.1/5.0
Scored across 3 tools
Disambiguation5/5
Each tool targets a distinct function: mortgage calculation, branch info, and exchange rate. No overlap or ambiguity.
Naming Consistency5/5
All tools use a consistent verb_noun pattern (calculate_mortgage, get_branch_info, get_exchange_rate).
Tool Count4/5
3 tools is slightly low but appropriate for a focused training server. Each tool serves a clear purpose without unnecessary complexity.
Completeness4/5
The set covers core banking demo scenarios (mortgage, branch, exchange). Minor gaps like account management exist but are not critical for the training scope.
Maintenance
ActivityStale
ResponsivenessUnresponsive