From 41c1db1aa4cc93f7b860d2de958d82667245cd1c Mon Sep 17 00:00:00 2001 From: "Turpaud, Remi" Date: Wed, 15 Oct 2025 09:54:26 +0200 Subject: [PATCH 1/2] added AWS deployment quickstart --- docs/client_guide/Visual_Studio_Code.md | 2 +- examples/server-deployment/quickstart-aws.md | 134 +++++++++++++++++++ 2 files changed, 135 insertions(+), 1 deletion(-) create mode 100644 examples/server-deployment/quickstart-aws.md diff --git a/docs/client_guide/Visual_Studio_Code.md b/docs/client_guide/Visual_Studio_Code.md index b7b9414..7bf2cd0 100644 --- a/docs/client_guide/Visual_Studio_Code.md +++ b/docs/client_guide/Visual_Studio_Code.md @@ -25,7 +25,7 @@ export MCP_PATH=/mcp/ uv run teradata-mcp-server ``` -Add the server in VS Code: +#### Add the HTTP server in VS Code - Open the Command Palette (View>Command Palette) - select "MCP: Add Server" diff --git a/examples/server-deployment/quickstart-aws.md b/examples/server-deployment/quickstart-aws.md new file mode 100644 index 0000000..0c8f517 --- /dev/null +++ b/examples/server-deployment/quickstart-aws.md @@ -0,0 +1,134 @@ +# Teradata MCP Server on AWS EC2 — **Basic Deployment** + +> Goal: spin up the **Teradata MCP Server** on a small EC2 instance so you can connect it using **Claude Desktop** or your prefered desktop application over HTTP. +> DO NOT USE AS IS FOR PRODUCTION DEPLOYMENT + +--- + +## 1) EC2 sizing & OS + +You can run the Teradata MCP server on a relatively small instance using a Linux OS. + +| Size | vCPU | RAM | Why | +|---|---:|---:|---| +| **t3a.medium** *(recommended)* | 2 | 4 GiB | Great cost/perf for small teams (≈5–15 users). | +| t3a.large | 2 | 8 GiB | If you want to co-locate heavier front-end applications (eg. Flowwise, n8n, your chat bots...). | +| t4g.medium *(ARM)* | 2 | 4 GiB | Cheaper/faster if all deps are arm64; otherwise stick to x86 if unsure / planning to experiment. | + +- **AMI**: Amazon Linux 2023 (or Ubuntu 22.04). +- **Storage**: 30 GiB gp3 EBS. (default) +- **Network**: (default) + +--- + +## 2) Open the port & bind correctly + +You will need to allow inbound traffic using ssh to configure your system and TCP for the end-users + +- In the AWS Console, select your instance > Security > **Security Group > Edit inbound rules**: + - Inbound: TCP, type SSH, port **22** (default), + - Inbound: TCP, type Custom TCP, port **8001** (source = your end user IP list/range). + +--- + +## 3) Software Install + +Install `uv` to install the MCP server + +```bash +# On Amazon Linux +sudo dnf update -y +curl -LsSf https://astral.sh/uv/install.sh | sh +``` +Install the MCP server + +```bash +uv tool install teradata-mcp-server +``` + +## 4) Configure the server + +You can create a configuration file to store your server settings: + +```bash +cat > .env <<'EOF' +# --- Required: DB connection --- +DATABASE_URI=teradata://:@:1025/ + +# --- Server (Streamable HTTP) --- +MCP_TRANSPORT=streamable-http +MCP_HOST=0.0.0.0 +MCP_PORT=8001 + +EOF +``` + +Edit the database connection string as with the Teradata system and user credentials for the MCP server. + +## 5) Run the server + +You may now run the server as a background process: + +```bash +nohup teradata-mcp-server > mcp.log & +``` +After a few seconds, validate that the server is started: `tail -50 mcp.log` + + +## 6) Test the server connectivity + +You can test the connectivity to the server from your clients servers/workstations with curl: `curl -I http://:8001/mcp`. + +If your MCP service is reachable, you should see this type of output: + +``` +HTTP/1.1 307 Temporary Redirect +date: Tue, 14 Oct 2025 15:39:58 GMT +server: uvicorn +... +``` + + If this returns a `Failed to connect to ...: Connection refused`, it is likely an issue in your network configuration. + +## 7) Configure the clients + +For Visual Studio Code, follow the usual [http setup instructions](../../docs/client_guide/Visual_Studio_Code.md#Add-the-http-server-in-VS-Code). + +For Claude desktop, you can use mcp-remote connect to your server. + +```json +{ + "mcpServers": { + "teradata_mcp_remote_aws": { + "command": "npx", + "args": [ + "mcp-remote", + "http://:8001/mcp/", + "--allow-http" + ] + } + } +} +``` + +If you have enabled basic authentication and setup a database proxy user, you may pass the database user credentials in the header: + +```json +{ + "mcpServers": { + "teradata_mcp_remote_aws": { + "command": "npx", + "args": [ + "mcp-remote", + "http://:8001/mcp/", + "--header", + "Authorization: Basic ${AUTH_TOKEN}", + "--allow-http" + ], + "env": { + "AUTH_TOKEN": "" + } + } + } +} +``` \ No newline at end of file From 4053bdc500ec3f8da88f3efae3719c2d457b66b5 Mon Sep 17 00:00:00 2001 From: "Turpaud, Remi" Date: Wed, 15 Oct 2025 10:15:58 +0200 Subject: [PATCH 2/2] Added indications on infrastructure requirements in dev guide --- docs/server_guide/INSTALLATION.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/server_guide/INSTALLATION.md b/docs/server_guide/INSTALLATION.md index 43c63ed..f82d74d 100644 --- a/docs/server_guide/INSTALLATION.md +++ b/docs/server_guide/INSTALLATION.md @@ -10,6 +10,15 @@ This guide covers everything you need to deploy the Teradata MCP Server, from lo - **Production Deployment** - Remote deployment strategies for serving multiple clients - **Service Management** - Running as system services with automatic restart and monitoring +## 🤔 What infrastructure do I need? + +The Teradata MCP server is lightweight and built on FastMCP, it is not intended to do heavy data transfer or data processing operations. +As an indication, base software fits in a 500MB container image, and takes the same memory footprint. + +The tested and supported OS are Linux, Windows and MacOS. + +You can find a [simple deployment example on AWS here](../../examples/server-deployment/quickstart-aws.md). + ## 🤔 Which Installation Method? | Method | Best For | Pros | Cons | Setup Time |