mcpcap 0.4.5__tar.gz → 0.4.7__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.
- {mcpcap-0.4.5 → mcpcap-0.4.7}/.github/workflows/release.yml +14 -15
- {mcpcap-0.4.5 → mcpcap-0.4.7}/PKG-INFO +1 -1
- {mcpcap-0.4.5 → mcpcap-0.4.7}/src/mcpcap/_version.py +3 -3
- {mcpcap-0.4.5 → mcpcap-0.4.7}/src/mcpcap.egg-info/PKG-INFO +1 -1
- {mcpcap-0.4.5 → mcpcap-0.4.7}/.github/FUNDING.yml +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/.github/workflows/test.yml +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/.gitignore +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/.readthedocs.yaml +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/LICENSE +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/README.md +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/docs/Makefile +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/docs/source/_static/.gitkeep +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/docs/source/api/cli.rst +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/docs/source/api/core.rst +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/docs/source/api/modules.rst +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/docs/source/conf.py +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/docs/source/index.rst +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/docs/source/user-guide/analysis-guides.md +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/docs/source/user-guide/installation.md +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/docs/source/user-guide/mcp-integration.md +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/docs/source/user-guide/quickstart.md +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/examples/README.md +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/examples/dhcp.pcap +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/examples/dns.pcap +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/pyproject.toml +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/readme-assets/mcpcap-logo.png +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/server.json +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/setup.cfg +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/src/mcpcap/__init__.py +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/src/mcpcap/cli.py +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/src/mcpcap/core/__init__.py +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/src/mcpcap/core/config.py +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/src/mcpcap/core/server.py +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/src/mcpcap/modules/__init__.py +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/src/mcpcap/modules/base.py +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/src/mcpcap/modules/dhcp.py +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/src/mcpcap/modules/dns.py +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/src/mcpcap.egg-info/SOURCES.txt +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/src/mcpcap.egg-info/dependency_links.txt +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/src/mcpcap.egg-info/entry_points.txt +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/src/mcpcap.egg-info/requires.txt +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/src/mcpcap.egg-info/top_level.txt +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/tests/__init__.py +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/tests/test_cli.py +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/tests/test_dhcp.py +0 -0
- {mcpcap-0.4.5 → mcpcap-0.4.7}/tests/test_dns.py +0 -0
@@ -107,44 +107,43 @@ jobs:
|
|
107
107
|
if: steps.pypi_publish.outcome == 'success'
|
108
108
|
uses: actions/setup-go@v5
|
109
109
|
with:
|
110
|
-
go-version: '1.
|
110
|
+
go-version: '1.24.x'
|
111
111
|
|
112
112
|
- name: Install MCP Publisher
|
113
113
|
if: steps.pypi_publish.outcome == 'success'
|
114
114
|
run: |
|
115
|
+
set -euo pipefail
|
115
116
|
git clone https://github.com/modelcontextprotocol/registry publisher-repo
|
116
117
|
cd publisher-repo
|
117
118
|
make publisher
|
118
|
-
|
119
|
+
# Verify expected output location and copy to repo root
|
120
|
+
test -f bin/mcp-publisher || { echo "mcp-publisher binary not found at bin/mcp-publisher"; ls -R; exit 1; }
|
121
|
+
cp bin/mcp-publisher ../mcp-publisher
|
119
122
|
cd ..
|
120
123
|
chmod +x mcp-publisher
|
121
124
|
./mcp-publisher --version || true
|
122
125
|
|
123
126
|
# -------- MCP Registry: login with DNS (mcpcap.ai) ------------------------
|
124
|
-
|
127
|
+
# Secret MCP_PRIVATE_KEY must be a 64-character hex Ed25519 private key
|
128
|
+
- name: Validate MCP_PRIVATE_KEY format
|
125
129
|
if: steps.pypi_publish.outcome == 'success'
|
126
130
|
run: |
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
ls -l key.pem
|
131
|
+
KEY="${{ secrets.MCP_PRIVATE_KEY }}"
|
132
|
+
if ! [[ "$KEY" =~ ^[0-9a-fA-F]{64}$ ]]; then
|
133
|
+
echo "MCP_PRIVATE_KEY must be 64 hex chars (Ed25519 seed)."
|
134
|
+
exit 1
|
135
|
+
fi
|
133
136
|
|
134
137
|
- name: Login to MCP Registry (DNS)
|
135
138
|
if: steps.pypi_publish.outcome == 'success'
|
136
|
-
run: ./mcp-publisher login dns --domain mcpcap.ai --private-key
|
137
|
-
|
138
|
-
- name: Cleanup DNS auth key
|
139
|
-
if: steps.pypi_publish.outcome == 'success'
|
140
|
-
run: |
|
141
|
-
shred -u key.pem || rm -f key.pem
|
139
|
+
run: ./mcp-publisher login dns --domain mcpcap.ai --private-key "${{ secrets.MCP_PRIVATE_KEY }}"
|
142
140
|
|
143
141
|
# -------- (Optional) Validate server.json before publishing ----------------
|
144
142
|
- name: Validate server.json (optional)
|
145
143
|
if: steps.pypi_publish.outcome == 'success'
|
146
144
|
run: |
|
147
145
|
if [ -f server.json ]; then
|
146
|
+
# Validate against published schema
|
148
147
|
curl -s https://static.modelcontextprotocol.io/schemas/2025-07-09/server.schema.json | jq . > schema.json
|
149
148
|
npm i -g ajv-cli >/dev/null 2>&1 || true
|
150
149
|
ajv validate -s schema.json -d server.json || (echo "server.json failed schema validation"; exit 1)
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
28
28
|
commit_id: COMMIT_ID
|
29
29
|
__commit_id__: COMMIT_ID
|
30
30
|
|
31
|
-
__version__ = version = '0.4.
|
32
|
-
__version_tuple__ = version_tuple = (0, 4,
|
31
|
+
__version__ = version = '0.4.7'
|
32
|
+
__version_tuple__ = version_tuple = (0, 4, 7)
|
33
33
|
|
34
|
-
__commit_id__ = commit_id = '
|
34
|
+
__commit_id__ = commit_id = 'gbe761c304'
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|