Teradata MCP Server

by Teradata
MIT License
2
  • Apple

Integrations

  • Enables configuration management through environment variables stored in .env files, supporting database connection parameters, LLM credentials, and server settings.

  • Supports integration with OpenAI models through API key configuration, enabling LLM capabilities within the server environment.

  • Provides database interaction capabilities with Teradata systems, offering tools for querying, data quality assessment, and database administration tasks such as executing queries, retrieving table structures, analyzing space usage, and performing data quality checks.

Teradata MCP 서버 템플릿

개요

Teradata MCP 서버는 오픈 소스 프로젝트이므로 풀 리퀘스트를 통한 기여를 환영합니다.

우리는 세 가지 도구 세트를 제공하고 있습니다

  1. td_base_tools:
    • execute_read_query - 읽기 쿼리를 실행합니다
    • execute_write_query - 쓰기 쿼리를 실행합니다
    • read_table_DDL - 테이블 표시 결과를 반환합니다.
    • read_database_list - 모든 데이터베이스 목록을 반환합니다.
    • read_table_list - 데이터베이스의 테이블 목록을 반환합니다.
    • read_column_description - 테이블의 열에 대한 설명을 반환합니다.
    • read_table_preview - 테이블의 열 정보와 5개 행을 반환합니다.
  2. td_dba_tools:
    • read_sql_list - 사용자에 대해 최근 실행된 SQL 목록을 반환합니다.
    • read_table_space - CurrentPerm 테이블 공간을 반환합니다.
    • read_database_space - 데이터베이스에 할당된 공간, 사용된 공간 및 사용된 백분율을 반환합니다.
    • read_database_version - 데이터베이스 버전 정보를 반환합니다.
  3. td_데이터_품질_도구:
    • missing_values - 누락된 값이 있는 열 이름 목록을 반환합니다.
    • negative_values - 음수 값을 갖는 열 이름 목록을 반환합니다.
    • distinct_categories - 열 내의 카테고리 목록을 반환합니다.
    • standard_deviation - 열의 평균과 표준 편차를 반환합니다.

또한 고객이 쉽게 도구를 개발할 수 있도록 custom_tools 섹션도 만들었습니다.

Test 디렉토리에는 도구를 테스트하기 위한 간단한 ClientChatBot 도구가 포함되어 있습니다.

환경 설정

1단계 - 로컬 컴퓨터에 uv 패키지가 설치되어 있다는 가정 하에 환경이 구성되었습니다. uv 설치 지침은 https://github.com/astral-sh/uv 에서 확인할 수 있습니다.

2단계 - mcp-server 저장소를 복제합니다.

윈도우에서

지엑스피1

맥에서

mkdir MCP cd MCP git clone https://github.com/Teradata/teradata-mcp-server.git cd teradata-mcp-server uv sync source .venv/bin/activate

3단계 - .env 파일을 업데이트해야 합니다.

  • env 파일 이름을 .env로 바꾸세요
  • 데이터베이스 URI는 teradata://username:password@host:1025/databasename 형식을 가지며 ClearScape Analytics Experience https://www.teradata.com/getting-started/demos/clearscape-analytics 를 사용합니다.
    • 사용자 이름을 업데이트해야 합니다
    • 비밀번호를 업데이트해야 합니다
    • Teradata 호스트를 업데이트해야 합니다.
    • 데이터베이스 이름을 업데이트해야 합니다
  • /test/pydanticaiBedrock.py 코드가 작동하려면 LLM 자격 증명을 사용할 수 있어야 합니다.
  • SSE 설정
    • SSE: 서버가 SSE 전송(SSE = True)을 사용할지 아니면 stdio 전송(SSE=False)을 사용할지 여부를 결정하는 부울 값입니다.
    • SSE_HOST: 서버를 찾을 수 있는 IP 주소, 기본값은 127.0.0.1입니다.
    • SSE_PORT: 서버가 있는 포트 주소, 기본값은 8001입니다.

.env 파일 예시

############################################ DATABASE_URI=teradata://username:password@host:1025/databasename SSE=False SSE_HOST=127.0.0.1 SSE_PORT=8001 ############################################ aws_access_key_id= aws_secret_access_key= aws_session_token= aws_region_name= ############################################ OPENAI_API_KEY=

MCP Inspector로 서버 테스트

1단계 - 서버를 시작하고 터미널에 다음을 입력하세요.

uv run mcp dev ./src/teradata_mcp_server/server.py

참고: Windows 컴퓨터에서 이 작업을 실행하고 npx, npm 또는 node.js 오류가 발생하는 경우 여기에서 필요한 node.js 소프트웨어를 설치하세요: https://github.com/nodists/nodist

2단계 - MCP 검사기 열기

  • 검사기 도구를 열고 http://127.0.0.1:6274 로 이동하세요.
  • 도구를 클릭하세요
  • 목록 도구를 클릭하세요
  • read_database_list를 클릭하세요
  • 실행을 클릭하세요

다른 도구를 테스트하면 각각 성공적인 결과가 나와야 합니다.

터미널에서 서버를 중지하려면 Control+c를 누르세요.

stdio를 사용하여 에이전트에 서버 추가

1단계 - .env 파일의 SSE 플래그가 False로 설정되었는지 확인합니다.

SSE=False

2단계 - ./test/ClientChatBot.py 스크립트를 수정하여 서버를 설치한 위치를 가리키도록 합니다. 다음 줄을 수정해야 합니다.

td_mcp_server = MCPServerStdio('uv', ["--directory", "/Users/Daniel.Tehan/Code/MCP/teradata-mcp-server/src/teradata_mcp_server", "run", "server.py"])

2단계 - ./test/ClientChatBot.py 스크립트를 실행합니다. 이렇게 하면 MCP 서버에 액세스할 수 있는 에이전트와 대화형 세션이 생성됩니다.

터미널에서.

uv run ./test/ClientChatBot.py
  • 에이전트에게 데이터베이스를 나열해 달라고 요청하세요.
  • 에이전트에게 데이터베이스에 테이블을 나열해 달라고 요청하세요.
  • 에이전트에게 데이터베이스의 모든 객체를 표시하도록 요청합니다.
  • 테이블에 대해 SQL을 실행해야 하는 질문을 에이전트에게 물어보세요.
  • 종료하려면 "quit"를 입력하세요.

stdio를 사용하여 Visual Studio Code Co-pilot에 도구 추가

  • .env 파일에서 SSE 플래그가 False로 설정되었는지 확인하세요.
SSE=False
  • VS Code에서 "명령 표시 및 실행"
  • "MCP: 서버 추가"를 선택하세요
  • "명령 Stdio"를 선택하세요
  • 실행하려면 명령어에 "uv"를 입력하세요.
  • ID에 서버 이름을 입력하세요
  • settings.json 파일이 열려야 합니다.
  • 디렉토리 경로를 수정하고 서버가 설치된 위치를 가리키고 있는지 확인하세요.
  • 인수를 다음과 같이 추가합니다.
"mcp": { "servers": { "TeradataStdio": { "type": "stdio", "command": "uv", "args": [ "--directory", "/Users/Daniel.Tehan/Code/MCP/teradata-mcp-server/src/teradata_mcp_server/, "run", "server.py" ] } } }
  • settings.json 파일 내에서 서버를 시작할 수도 있고 "MCP: 서버 시작"을 할 수도 있습니다.

SSE를 사용하여 Visual Studio Code Co-pilot에 도구 추가

  • .env 파일에서 SSE 플래그가 False로 설정되었는지 확인하세요.
SSE=True SSE_HOST=127.0.0.1 SSE_PORT=8001
  • 터미널에서 서버를 시작해야 합니다
uv run ./src/teradata_mcp_server/server.py
  • VS Code에서 "명령 표시 및 실행"
  • "MCP: 서버 추가"를 선택하세요
  • "HTTP 서버가 이벤트를 보냈습니다"를 선택하세요
  • 서버 위치에 대한 URL을 입력하세요(예: http://127.0.0.1:8001/sse)
  • ID에 서버 이름을 입력하세요
  • 사용자 공간 선택
  • settings.json 파일이 열려야 합니다.
  • 인수를 다음과 같이 추가합니다.
"mcp": { "servers": { "TeradataSSE": { "type": "sse", "url": "http://127.0.0.1:8001/sse" } } }
  • settings.json 파일 내에서 또는 "MCP: 서버 시작"을 할 수 있습니다.

mcpo를 사용하여 도구를 REST 엔드포인트로 노출

mcpo를 사용하면 이 MCP 도구를 OpenAPI 호환 HTTP 서버로 노출할 수 있습니다.

예를 들어, uv를 사용합니다: uvx mcpo --port 8001 --api-key "top-secret" -- uv run src/teradata_mcp_server/server.py

이제 Teradata 도구를 로컬 REST 엔드포인트로 사용할 수 있습니다. 설명서를 보고 http://localhost:8001/docs 에서 테스트해 보세요.

Open WebUI를 사용하여 서버 사용

Open WebUI는 Ollama와 같은 다양한 LLM 러너를 지원하며, 완전히 오프라인에서 작동하도록 설계된 사용자 친화적인 셀프 호스팅 AI 플랫폼입니다. 직관적인 GUI를 통해 LLM 및 MCP 서버와 편리하게 상호 작용할 수 있습니다. mcpo 구성 요소를 사용하여 이 MCP 서버와 통합할 수 있습니다.

먼저 위 섹션에 지정된 대로 mcpo를 실행합니다.

python -m venv ./env source ./env/bin/activate pip install open-webui open-webui serve

http://localhost:8080 에서 UI에 접속하세요. MCP 도구를 추가하려면 설정 > 도구 > 연결 추가로 이동하여 mcpo 서버 연결 세부 정보(예: localhost:8001 , mcpo 섹션에서 명령줄을 실행한 경우 비밀번호는 top-secret )를 입력하세요.

오른쪽의 채팅 제어 밸브 섹션에서 도구를 확인하고 모델에서 해당 도구를 사용할 수 있어야 합니다.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

MCP 인터페이스를 통해 데이터베이스 관리, 데이터 품질 평가, SQL 실행 기능을 포함하여 Teradata 데이터베이스를 쿼리하고 분석하기 위한 도구를 제공하는 서버입니다.

  1. 개요
    1. 환경 설정
      1. MCP Inspector로 서버 테스트
        1. stdio를 사용하여 에이전트에 서버 추가
          1. stdio를 사용하여 Visual Studio Code Co-pilot에 도구 추가
            1. SSE를 사용하여 Visual Studio Code Co-pilot에 도구 추가
              1. mcpo를 사용하여 도구를 REST 엔드포인트로 노출
                1. Open WebUI를 사용하여 서버 사용

                  Related MCP Servers

                  • -
                    security
                    A
                    license
                    -
                    quality
                    An MCP server that connects to Supabase PostgreSQL databases, exposing table schemas as resources and providing tools for data analysis through SQL queries.
                    Last updated -
                    JavaScript
                    MIT License
                  • -
                    security
                    F
                    license
                    -
                    quality
                    This is a Model Context Protocol (MCP) server for executing SQL queries against Databricks using the Statement Execution API. It enables AI assistants to directly query Databricks data warehouses, analyze database schemas, and retrieve query results in a structured format
                    Last updated -
                    4
                    Python
                    • Linux
                    • Apple
                  • -
                    security
                    A
                    license
                    -
                    quality
                    Open source MCP server specializing in easy, fast, and secure tools for Databases.
                    Last updated -
                    872
                    Go
                    Apache 2.0
                    • Linux
                  • -
                    security
                    -
                    license
                    -
                    quality
                    An MCP server that allows working with MySQL databases by providing tools for executing read-only SQL queries, getting table schemas, and listing database tables.
                    Last updated -
                    1
                    JavaScript

                  View all related MCP servers

                  ID: q8kueash24