Search / io.github.idoo/hamn
Hamn
L0· runs locallyMCP server for App Store Connect: releases, TestFlight, reviews, reports. Read-only by default.
v0.1.3 · active · repository · website · descriptor JSON · versions
Search / io.github.idoo/hamn
L0· runs locallyMCP server for App Store Connect: releases, TestFlight, reviews, reports. Read-only by default.
v0.1.3 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"hamn": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ASC_KEY_ID",
"-e",
"ASC_PRIVATE_KEY",
"-e",
"HAMN_ALLOW_WRITES",
"ghcr.io/idoo/hamn:0.1.3"
],
"env": {
"ASC_KEY_ID": "${ASC_KEY_ID}",
"ASC_PRIVATE_KEY": "${ASC_PRIVATE_KEY}",
"HAMN_ALLOW_WRITES": "0"
}
}
}
}claude mcp add hamn -e "ASC_KEY_ID=${ASC_KEY_ID}" -e "ASC_PRIVATE_KEY=${ASC_PRIVATE_KEY}" -e "HAMN_ALLOW_WRITES=0" -- docker run -i --rm -e ASC_KEY_ID -e ASC_PRIVATE_KEY -e HAMN_ALLOW_WRITES ghcr.io/idoo/hamn:0.1.3[mcp_servers.hamn]
command = "docker"
args = ["run", "-i", "--rm", "-e", "ASC_KEY_ID", "-e", "ASC_PRIVATE_KEY", "-e", "HAMN_ALLOW_WRITES", "ghcr.io/idoo/hamn:0.1.3"]
env = { "ASC_KEY_ID" = "${ASC_KEY_ID}", "ASC_PRIVATE_KEY" = "${ASC_PRIVATE_KEY}", "HAMN_ALLOW_WRITES" = "0" }
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"hamn": {
"type": "local",
"command": [
"docker",
"run",
"-i",
"--rm",
"-e",
"ASC_KEY_ID",
"-e",
"ASC_PRIVATE_KEY",
"-e",
"HAMN_ALLOW_WRITES",
"ghcr.io/idoo/hamn:0.1.3"
],
"enabled": true,
"environment": {
"ASC_KEY_ID": "{env:ASC_KEY_ID}",
"ASC_PRIVATE_KEY": "{env:ASC_PRIVATE_KEY}",
"HAMN_ALLOW_WRITES": "0"
}
}
}
}{
"mcpServers": {
"hamn": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ASC_KEY_ID",
"-e",
"ASC_PRIVATE_KEY",
"-e",
"HAMN_ALLOW_WRITES",
"ghcr.io/idoo/hamn:0.1.3"
],
"env": {
"ASC_KEY_ID": "${ASC_KEY_ID}",
"ASC_PRIVATE_KEY": "${ASC_PRIVATE_KEY}",
"HAMN_ALLOW_WRITES": "0"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=hamn&config=eyJjb21tYW5kIjoiZG9ja2VyIiwiYXJncyI6WyJydW4iLCItaSIsIi0tcm0iLCItZSIsIkFTQ19LRVlfSUQiLCItZSIsIkFTQ19QUklWQVRFX0tFWSIsIi1lIiwiSEFNTl9BTExPV19XUklURVMiLCJnaGNyLmlvL2lkb28vaGFtbjowLjEuMyJdLCJlbnYiOnsiQVNDX0tFWV9JRCI6IiR7QVNDX0tFWV9JRH0iLCJBU0NfUFJJVkFURV9LRVkiOiIke0FTQ19QUklWQVRFX0tFWX0iLCJIQU1OX0FMTE9XX1dSSVRFUyI6IjAifX0%3D"
}{
"servers": {
"hamn": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ASC_KEY_ID",
"-e",
"ASC_PRIVATE_KEY",
"-e",
"HAMN_ALLOW_WRITES",
"ghcr.io/idoo/hamn:0.1.3"
],
"env": {
"ASC_KEY_ID": "${ASC_KEY_ID}",
"ASC_PRIVATE_KEY": "${ASC_PRIVATE_KEY}",
"HAMN_ALLOW_WRITES": "0"
}
}
}
}{
"mcpServers": {
"hamn": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ASC_KEY_ID",
"-e",
"ASC_PRIVATE_KEY",
"-e",
"HAMN_ALLOW_WRITES",
"ghcr.io/idoo/hamn:0.1.3"
],
"env": {
"ASC_KEY_ID": "${ASC_KEY_ID}",
"ASC_PRIVATE_KEY": "${ASC_PRIVATE_KEY}",
"HAMN_ALLOW_WRITES": "0"
}
}
}
}extensions:
"hamn":
enabled: true
name: "hamn"
type: stdio
cmd: "docker"
args:
- "run"
- "-i"
- "--rm"
- "-e"
- "ASC_KEY_ID"
- "-e"
- "ASC_PRIVATE_KEY"
- "-e"
- "HAMN_ALLOW_WRITES"
- "ghcr.io/idoo/hamn:0.1.3"
envs:
"ASC_KEY_ID": "${ASC_KEY_ID}"
"ASC_PRIVATE_KEY": "${ASC_PRIVATE_KEY}"
"HAMN_ALLOW_WRITES": "0"
timeout: 300
Placeholders to fill from your own secret store: ${ASC_PRIVATE_KEY}. The registry never accepts secret values.
This is a local package: the command runs on your machine.
Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.
protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)auth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)stability.changes, stability.rug_pulltool list unknowndeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website ~liveness-unmeasured +updated-13d-ago -unpinned-packages(1)
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
https://github.com/idoo/hamn/releases/download/v0.1.3/hamn-0.1.3.mcpb | mcpb | 0.1.3 | – | |
ghcr.io/idoo/hamn:0.1.3 | oci | unpinned | – | ASC_PRIVATE_KEY |
No tools observed. Local packages are never executed by the registry.
Schemas: list_tools.
{
"name": "io.github.idoo/hamn",
"title": "Hamn",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"version": "0.1.3",
"packages": [
{
"version": "0.1.3",
"transport": {
"type": "stdio"
},
"fileSha256": "c6e9a58135a0e76e43956bf60697590931d07b8178d5edb7cf7a5559c25204b3",
"identifier": "https://github.com/idoo/hamn/releases/download/v0.1.3/hamn-0.1.3.mcpb",
"registryType": "mcpb"
},
{
"transport": {
"type": "stdio"
},
"identifier": "ghcr.io/idoo/hamn:0.1.3",
"registryType": "oci",
"environmentVariables": [
{
"name": "ASC_KEY_ID",
"isRequired": true,
"description": "App Store Connect API key ID"
},
{
"name": "ASC_ISSUER_ID",
"description": "Issuer ID (omit for an Individual API key)"
},
{
"name": "ASC_PRIVATE_KEY",
"isSecret": true,
"isRequired": true,
"description": "Contents of the .p8 key (PEM or base64 PEM)"
},
{
"name": "ASC_VENDOR_NUMBER",
"description": "Vendor number for sales and finance reports"
},
{
"name": "HAMN_ALLOW_WRITES",
"default": "0",
"description": "Set to 1 to expose write and destructive tools"
}
]
}
],
"repository": {
"url": "https://github.com/idoo/hamn",
"source": "github"
},
"websiteUrl": "https://github.com/idoo/hamn",
"description": "MCP server for App Store Connect: releases, TestFlight, reviews, reports. Read-only by default."
}