Skip to content

Commit 03c7f07

Browse files
devopamclaude
andauthored
release: 0.7.1 — new icon, mcpb rebuild, Connectors policy compliance (#298)
* release: cut 0.7.1 (new icon, .mcpb rebuild with security fixes) Version bump 0.7.0 -> 0.7.1: src/mcpg/__init__.py + packaging/mcpb version sync (manifest.json, pyproject.toml). Two reasons this cut exists: - New packaging/mcpb/icon.png: replaces the old database-cylinder + wordmark icon (a generic clip-art symbol with embedded text that becomes illegible at the small sizes directory listings actually render icons at) with an abstract "convergence" mark -- several streams meeting at one bright point, no embedded text, verified legible down to ~32px. Same 512x512 RGBA format and transparent-corner squircle convention as the original. - The published v0.7.0 .mcpb bundle predates #297's security fixes (cryptography CVE-2026-69247, the SQL-driver secret-leak fix) -- 0.7.1 gives us a fresh bundle built off current main that actually includes them, ahead of a Claude Connectors Directory submission. CHANGELOG.md: rolled [Unreleased] into [0.7.1] - 2026-08-04 (the security-hardening entries already sitting under Unreleased belong to this release, since it's the first to ship them), added a Changed entry for the icon, fresh empty [Unreleased] above. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESh2w9n8kzbLskHoq9w2UH Entire-Checkpoint: ed3cfc309b86 * docs: strengthen PRIVACY.md + release-process for the Connectors directory policy Read the actual Anthropic Software Directory Policy (https://support.claude.com/en/articles/13145358) and cross-checked MCPg's real state against every requirement rather than assuming -- mechanically verified all 254 tool names are well under the 64-char limit (longest is 36), confirmed docs/tour.md already has 28+ ready-made natural-language example prompts, and confirmed tool annotations/error-handling/transport-support/dependency-currency requirements are already met by prior work this session. Two real gaps found and fixed: - PRIVACY.md described the Postgres-data and NL2SQL data flows well, but never explicitly addressed the policy's specific concern about Claude's own memory/chat-history/uploaded-files -- added an affirmative statement that MCPg has no mechanism to touch any of that, mirroring the policy's own phrasing so a reviewer can confirm compliance without inferring it. - docs/release-process.md's Connectors-directory section had the mechanical re-submission steps but nothing reviewer-facing -- expanded it with ready-to-paste content: the hosted HF Space demo as the "testing account with sample data" the policy requires, three curated example prompts pulled from docs/tour.md, and an explicit ownership/architecture note (MCPg is bring-your-own-database, not a fixed-backend connector, which doesn't fit the policy's implicit assumption cleanly without saying so). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESh2w9n8kzbLskHoq9w2UH Entire-Checkpoint: 149f00a5653b * docs: fix comma splice and spelling consistency (Sourcery review, PR #298) Fixes two Sourcery nitpicks: a comma splice in the review-criteria sentence (split with a semicolon), and "resubmission" normalized to match this file's own pre-existing dominant hyphenated convention ("re-submission"/"re-submit"), not the other way around. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESh2w9n8kzbLskHoq9w2UH Entire-Checkpoint: a8cf020e3c38 --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
1 parent 2353141 commit 03c7f07

7 files changed

Lines changed: 58 additions & 8 deletions

File tree

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,16 @@ adheres to [Semantic Versioning](https://semver.org/).
66

77
## [Unreleased]
88

9+
## [0.7.1] - 2026-08-04
10+
11+
### Changed
12+
13+
- **New `.mcpb` bundle icon** (`packaging/mcpb/icon.png`). Replaces the
14+
previous database-cylinder-plus-wordmark icon with an abstract
15+
"convergence" mark — several streams meeting at one bright point —
16+
designed to hold up at the small sizes directory listings actually
17+
render icons at, without relying on embedded text.
18+
919
### Security
1020

1121
- **Code-scanning triage (CodeQL + OpenSSF Scorecard).** Removed the

PRIVACY.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@ you.
1414
configure. The optional Prometheus `/metrics` endpoint and
1515
OpenTelemetry export are off by default and, when enabled, ship
1616
metrics/traces only to endpoints you specify.
17+
- **Never touches Claude's own memory, conversation history, or
18+
uploaded files.** MCPg's only interface to the client is the MCP
19+
protocol's tool-call arguments — the specific fields each tool
20+
declares (e.g. a table name, a SQL statement). It has no mechanism to
21+
query or extract anything from Claude's memory, chat history,
22+
conversation summaries, or user-generated/uploaded files, and
23+
collects no conversational data beyond what a given tool call's own
24+
arguments contain.
1725
- **One documented exception — NL→SQL.** The `translate_nl_to_sql`
1826
tool sends your natural-language question plus relevant schema
1927
context (table/column names, not row data) to the LLM provider whose

docs/release-process.md

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -771,20 +771,52 @@ release. Nothing else about the demo changes between releases.
771771
### The reviewed submission: Claude connectors directory
772772

773773
The Claude directory is a **reviewed** submission portal with no
774-
publish API, so releases can't push to it automatically. After a
775-
release that changes the tool surface or the `.mcpb` in a way worth
776-
re-listing:
774+
publish API, so releases can't push to it automatically. Review
775+
criteria: [Anthropic Software Directory
776+
Policy](https://support.claude.com/en/articles/13145358-anthropic-software-directory-policy) —
777+
re-read it before each re-submission; it can change. After a release
778+
that changes the tool surface or the `.mcpb` in a way worth re-listing:
777779

778780
1. Grab the new `mcpg-<version>.mcpb` from the GitHub release.
779781
2. Re-submit via the desktop-extension form linked from the
780-
[connectors submission docs](https://claude.com/docs/connectors/building/submission).
782+
[connectors submission docs](https://claude.com/docs/connectors/building/submission)
783+
(currently a Google Form gated behind sign-in — open it directly to
784+
see the live field list, don't assume it matches what's below).
781785
3. Track status in Claude's submissions dashboard; escalate to
782786
`mcp-review@anthropic.com` if stuck.
783787

784788
Because the bundle installs `mcpg` from PyPI (always the pinned release
785789
at install time), a listed extension keeps working across patch
786790
releases without re-submission — re-submit only for material changes.
787791

792+
**Ready-to-paste content for the form**, cross-checked against the
793+
policy's explicit requirements:
794+
795+
- **Testing account with sample data** (policy requires this): the
796+
hosted read-only demo — `https://devopam-mcpg-demo.hf.space/mcp` —
797+
serves throwaway seeded data (see `docs/demo.md`) and needs no
798+
credentials. Point reviewers at it directly rather than asking them
799+
to stand up their own Postgres instance.
800+
- **At least three working example prompts** (policy requires this):
801+
pick 3+ from `docs/tour.md`'s section headings (each is itself a
802+
literal example prompt, worked end-to-end underneath) — e.g. `"What's
803+
in this database?"`, `"Is this database healthy?"`, `"Tune pgvector"`.
804+
28+ sections exist there; rotate which ones you cite if a
805+
re-submission wants fresher examples.
806+
- **Ownership/architecture note**: MCPg is a bring-your-own-database
807+
tool — it doesn't call a fixed API endpoint the maintainer runs.
808+
Each user supplies their own PostgreSQL connection string at
809+
configure time (stored in the OS keychain via the `.mcpb` manifest's
810+
`sensitive: true` field); the only endpoint the maintainer actually
811+
owns/controls is the demo Space above. State this plainly if the form
812+
asks about endpoint ownership — the policy's phrasing assumes a more
813+
typical fixed-backend SaaS connector shape, which MCPg deliberately
814+
isn't.
815+
- **Data-handling boundary**: `PRIVACY.md` explicitly states MCPg never
816+
accesses Claude's own memory, conversation history, or uploaded
817+
files — only the Postgres database and (for the opt-in
818+
`translate_nl_to_sql` tool) the NL→SQL provider the user configured.
819+
788820
---
789821

790822
## 9. Recurring chores

packaging/mcpb/icon.png

165 KB
Loading

packaging/mcpb/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"manifest_version": "0.4",
33
"name": "mcpg",
44
"display_name": "MCPg \u2014 PostgreSQL",
5-
"version": "0.7.0",
5+
"version": "0.7.1",
66
"description": "Production-grade PostgreSQL MCP server: 254 tools for querying, tuning, and operating Postgres \u2014 read-only by default.",
77
"long_description": "MCPg lets AI agents safely inspect, query, operate, and tune a PostgreSQL database. 254 tools spanning catalog introspection, query intelligence, natural-language SQL, structural diffs, hybrid search, graph queries, live ops, and more.\n\n**Safe by default**: read-only access mode, AST-validated SQL, and every tool publishes MCP annotations (`readOnlyHint`/`destructiveHint`) so the client knows exactly which calls are safe. Write, DDL, shell, and LISTEN capabilities stay off until explicitly enabled via environment variables.\n\nNo data yet? Run `mcpg --demo` against a scratch database to seed a curated demo dataset and take the tools for a spin \u2014 see the guided tour at https://github.com/devopam/MCPg/blob/main/docs/demo.md.",
88
"author": {

packaging/mcpb/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
# to the release tag by the publish workflow, exactly like server.json.
66
[project]
77
name = "mcpg-desktop-extension"
8-
version = "0.7.0"
8+
version = "0.7.1"
99
description = "MCPB launcher shim for the MCPg PostgreSQL MCP server."
1010
requires-python = ">=3.12"
1111
dependencies = [
12-
"mcpg==0.7.0",
12+
"mcpg==0.7.1",
1313
]

src/mcpg/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import warnings
44

5-
__version__ = "0.7.0"
5+
__version__ = "0.7.1"
66

77
# ``schema`` is the natural field name for "which Postgres schema" across
88
# ~180 tool-return dataclasses. The ``mcp`` SDK dynamically builds a

0 commit comments

Comments
 (0)