mcp-postgresql-ops 3.4.4__tar.gz → 3.4.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/.env.example +20 -2
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/.github/workflows/pypi-publish.yml +18 -3
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/.gitignore +9 -1
- mcp_postgresql_ops-3.4.6/Dockerfile.MCP-Server +26 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/Dockerfile.MCPO-Proxy +7 -6
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/PKG-INFO +216 -207
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/README.md +215 -206
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/build-mcp-server-docker-image.sh +1 -1
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/build-mcpo-server-docker-image.sh +1 -1
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/docker-compose.custom-db.yml +9 -8
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/docker-compose.yml +13 -10
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/mcp-config.json.http +2 -2
- mcp_postgresql_ops-3.4.6/mcpb/manifest.json +93 -0
- mcp_postgresql_ops-3.4.6/mcpb/server.py +7 -0
- mcp_postgresql_ops-3.4.6/scripts/build-mcpb.sh +37 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/scripts/mcp-server-docker-cmd.sh +5 -2
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/scripts/publish_release.py +10 -4
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/src/mcp_postgresql_ops.egg-info/PKG-INFO +216 -207
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/src/mcp_postgresql_ops.egg-info/SOURCES.txt +3 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/src/mcp_postgresql_ops.egg-info/scm_file_list.json +3 -0
- mcp_postgresql_ops-3.4.6/src/mcp_postgresql_ops.egg-info/scm_version.json +8 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/tests/test_release.py +51 -0
- mcp_postgresql_ops-3.4.4/Dockerfile.MCP-Server +0 -31
- mcp_postgresql_ops-3.4.4/src/mcp_postgresql_ops.egg-info/scm_version.json +0 -8
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/.github/CONTRIBUTING.md +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/.github/FUNDING.yml +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/.github/ISSUE_TEMPLATE/documentation.md +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/.github/ISSUE_TEMPLATE/question.md +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/.github/copilot-instructions.md +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/.github/dependabot.yml +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/.github/pull_request_template.md +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/.github/workflows/test.yml +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/.gitleaks.toml +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/.pre-commit-config.yaml +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/.python-version +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/LICENSE +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/MANIFEST.in +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/SECURITY.md +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/_config.yml +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/_includes/head-custom-google-analytics.html +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/img/MCP-Workflow-of-Quickstart-Tutorial.png +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/img/screenshot-000.png +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/img/screenshot-001.png +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/img/screenshot-002.png +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/img/screenshot-004.png +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/img/screenshot-005.png +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/img/screenshot-claude-desktop-airflow-connections-html.png +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/img/screenshot-claude-desktop-mermaid-diagram.png +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/img/screenshot-claude-desktop-question-001.png +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/img/screenshot-swagger-api.png +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/mcp-config.json.stdio +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/pyproject.toml +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/run-mcp-inspector-local.sh +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/run-mcp-inspector-pypi.sh +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/scripts/check_release.py +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/scripts/create-test-data.sh +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/scripts/create-test-data.sql +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/scripts/enable-pgsql-extensions.sh +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/setup.cfg +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/src/mcp_postgresql_ops/__init__.py +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/src/mcp_postgresql_ops/__main__.py +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/src/mcp_postgresql_ops/functions.py +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/src/mcp_postgresql_ops/mcp_main.py +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/src/mcp_postgresql_ops/prompt_template.md +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/src/mcp_postgresql_ops/version_compat.py +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/src/mcp_postgresql_ops.egg-info/dependency_links.txt +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/src/mcp_postgresql_ops.egg-info/entry_points.txt +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/src/mcp_postgresql_ops.egg-info/requires.txt +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/src/mcp_postgresql_ops.egg-info/top_level.txt +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/tests/__init__.py +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/tests/conftest.py +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/tests/docker/docker-compose.test.yml +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/tests/docker/init-test-db.sql +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/tests/test_tool_schema_null_defaults.py +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/tests/test_tools_integration.py +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/tests/test_version_compat.py +0 -0
- {mcp_postgresql_ops-3.4.4 → mcp_postgresql_ops-3.4.6}/uv.lock +0 -0
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
# Stable OpenWebUI encryption/session key. Generate with: openssl rand -hex 32
|
|
2
|
+
WEBUI_SECRET_KEY=replace_with_a_random_value
|
|
3
|
+
|
|
4
|
+
# OpenWebUI global default model params (JSON), applied to every model.
|
|
5
|
+
# Some OpenAI reasoning models reject MCP tool calls on /v1/chat/completions
|
|
6
|
+
# unless reasoning_effort is "none", failing with:
|
|
7
|
+
# "Function tools with reasoning_effort are not supported ..."
|
|
8
|
+
# Seeded into the OpenWebUI database on first startup only. If the
|
|
9
|
+
# open-webui-data volume already exists, set it in the Admin UI instead.
|
|
10
|
+
# Models or providers that do not support reasoning_effort may reject it;
|
|
11
|
+
# if so, comment this out and set Reasoning Effort per model instead.
|
|
12
|
+
DEFAULT_MODEL_PARAMS={"reasoning_effort":"none"}
|
|
13
|
+
|
|
14
|
+
# Local MCPO configuration mounted by Docker Compose. Copy the tracked
|
|
15
|
+
# mcp-config.json.http template to this ignored file before starting MCPO.
|
|
16
|
+
MCPO_CONFIG_FILE=mcp-config.json.http.local
|
|
17
|
+
|
|
1
18
|
# Commons
|
|
2
19
|
PYTHONPATH=/app/src
|
|
3
20
|
|
|
@@ -21,7 +38,7 @@ REMOTE_AUTH_ENABLE=false
|
|
|
21
38
|
# Secret key for Bearer token authentication (required when REMOTE_AUTH_ENABLE=true)
|
|
22
39
|
# Default: empty string (if not defined, authentication will be disabled even if REMOTE_AUTH_ENABLE=true)
|
|
23
40
|
# Recommendation: Use strong, randomly generated secret keys (32+ characters)
|
|
24
|
-
REMOTE_SECRET_KEY=
|
|
41
|
+
REMOTE_SECRET_KEY=
|
|
25
42
|
|
|
26
43
|
### PostgreSQL Configuration
|
|
27
44
|
PGSQL_VERSION=16
|
|
@@ -38,7 +55,8 @@ POSTGRES_DB=ecommerce
|
|
|
38
55
|
#--------------------------------------------
|
|
39
56
|
|
|
40
57
|
# Docker Env.
|
|
58
|
+
DOCKER_BIND_ADDRESS=127.0.0.1
|
|
41
59
|
DOCKER_EXTERNAL_PORT_OPENWEBUI=3003
|
|
42
60
|
DOCKER_EXTERNAL_PORT_MCP_SERVER=18003
|
|
43
61
|
DOCKER_EXTERNAL_PORT_MCPO_PROXY=8003
|
|
44
|
-
DOCKER_INTERNAL_PORT_POSTGRESQL=5432
|
|
62
|
+
DOCKER_INTERNAL_PORT_POSTGRESQL=5432
|
|
@@ -18,8 +18,10 @@ jobs:
|
|
|
18
18
|
- uses: actions/setup-python@v7
|
|
19
19
|
with:
|
|
20
20
|
python-version: "3.12.x"
|
|
21
|
-
- name: Install build
|
|
22
|
-
run: pip install --upgrade build
|
|
21
|
+
- name: Install build and release test tools
|
|
22
|
+
run: pip install --upgrade build pytest
|
|
23
|
+
- name: Test release automation
|
|
24
|
+
run: python -m pytest -q tests/test_release.py
|
|
23
25
|
- name: Build distributions
|
|
24
26
|
run: python -m build
|
|
25
27
|
- name: Verify tag and distribution versions
|
|
@@ -31,6 +33,15 @@ jobs:
|
|
|
31
33
|
name: dist
|
|
32
34
|
path: dist/
|
|
33
35
|
if-no-files-found: error
|
|
36
|
+
- name: Build Claude Desktop bundle
|
|
37
|
+
env:
|
|
38
|
+
RELEASE_TAG: ${{ github.ref_name }}
|
|
39
|
+
run: scripts/build-mcpb.sh "$RELEASE_TAG" mcpb-dist
|
|
40
|
+
- uses: actions/upload-artifact@v7
|
|
41
|
+
with:
|
|
42
|
+
name: mcpb
|
|
43
|
+
path: mcpb-dist/
|
|
44
|
+
if-no-files-found: error
|
|
34
45
|
|
|
35
46
|
publish-to-testpypi:
|
|
36
47
|
name: Publish to TestPyPI
|
|
@@ -94,5 +105,9 @@ jobs:
|
|
|
94
105
|
- uses: actions/setup-python@v7
|
|
95
106
|
with:
|
|
96
107
|
python-version: "3.12.x"
|
|
108
|
+
- uses: actions/download-artifact@v8
|
|
109
|
+
with:
|
|
110
|
+
name: mcpb
|
|
111
|
+
path: mcpb-dist/
|
|
97
112
|
- name: Publish release with commit messages
|
|
98
|
-
run: python -m scripts.publish_release "$RELEASE_TAG"
|
|
113
|
+
run: python -m scripts.publish_release "$RELEASE_TAG" mcpb-dist/*.mcpb
|
|
@@ -9,11 +9,19 @@ wheels/
|
|
|
9
9
|
# Virtual environments
|
|
10
10
|
.venv
|
|
11
11
|
|
|
12
|
+
# Environment and local MCP configuration files
|
|
13
|
+
.env
|
|
14
|
+
.env.*
|
|
15
|
+
!.env.example
|
|
16
|
+
mcp-config.json.*.local
|
|
17
|
+
|
|
12
18
|
**/__pycache__/
|
|
13
19
|
**/.pytest_cache/
|
|
14
20
|
|
|
15
21
|
.vscode*
|
|
16
22
|
#.github/copilot-instructions.md
|
|
17
23
|
|
|
18
|
-
.env
|
|
19
24
|
*.swp
|
|
25
|
+
|
|
26
|
+
# Windows download metadata
|
|
27
|
+
*:Zone.Identifier
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
FROM rockylinux:9.3
|
|
2
|
+
|
|
3
|
+
ARG PYTHON_VERSION=3.12
|
|
4
|
+
|
|
5
|
+
WORKDIR /app
|
|
6
|
+
|
|
7
|
+
# Install the runtime and network tools used by the health check.
|
|
8
|
+
RUN dnf install -y epel-release \
|
|
9
|
+
&& dnf install -y python${PYTHON_VERSION} python${PYTHON_VERSION}-pip git procps-ng lsof telnet screen iputils nmap-ncat \
|
|
10
|
+
&& dnf clean all \
|
|
11
|
+
&& update-alternatives --install /usr/bin/python python /usr/bin/python${PYTHON_VERSION} 1000 --slave /usr/bin/pip pip /usr/bin/pip${PYTHON_VERSION}
|
|
12
|
+
|
|
13
|
+
# Install the exact runtime dependency set used by CI and the MCPB bundle.
|
|
14
|
+
# Application source is mounted by Docker Compose at runtime.
|
|
15
|
+
COPY pyproject.toml uv.lock /tmp/deps/
|
|
16
|
+
RUN pip install --no-cache-dir 'uv==0.7.20' \
|
|
17
|
+
&& uv export --project /tmp/deps --locked --no-emit-project --no-hashes \
|
|
18
|
+
-o /tmp/deps/requirements.txt \
|
|
19
|
+
&& pip install --no-cache-dir --no-deps -r /tmp/deps/requirements.txt \
|
|
20
|
+
&& rm -rf /tmp/deps
|
|
21
|
+
|
|
22
|
+
# Configure the Python runtime for mounted application source and live logs.
|
|
23
|
+
ENV PYTHONPATH=/app/src
|
|
24
|
+
ENV PYTHONUNBUFFERED=1
|
|
25
|
+
|
|
26
|
+
CMD ["/bin/bash", "/app/scripts/mcp-server-docker-cmd.sh"]
|
|
@@ -11,10 +11,11 @@ RUN dnf install -y epel-release \
|
|
|
11
11
|
&& dnf clean all \
|
|
12
12
|
&& update-alternatives --install /usr/bin/python python /usr/bin/python${PYTHON_VERSION} 1000 --slave /usr/bin/pip pip /usr/bin/pip${PYTHON_VERSION}
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
'
|
|
18
|
-
'
|
|
14
|
+
# MCPO is an optional OpenAPI compatibility proxy and does not run this
|
|
15
|
+
# project's code. Keep its MCP client on 1.x until MCPO supports MCP 2.x.
|
|
16
|
+
RUN pip install --no-cache-dir \
|
|
17
|
+
'mcpo==0.0.20' \
|
|
18
|
+
'mcp==1.30.0' \
|
|
19
|
+
'fastapi==0.128.0'
|
|
19
20
|
|
|
20
|
-
CMD ["mcpo", "--host", "0.0.0.0", "--port", "8000", "--config", "/app/config/mcp-config.json", "--hot-reload"]
|
|
21
|
+
CMD ["mcpo", "--host", "0.0.0.0", "--port", "8000", "--config", "/app/config/mcp-config.json", "--hot-reload"]
|