Skip to content

Commit 4386674

Browse files
Serkan Glattclaude
authored andcommitted
feat: publish to official MCP registry via GitHub OIDC
Add server.json (remote streamable-http + npm package, namespace io.github.stockmarketscan/earningscalls-mcp) and a GitHub Actions workflow that publishes it to registry.modelcontextprotocol.io using OIDC — no interactive login or stored secret. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent d2b9937 commit 4386674

2 files changed

Lines changed: 78 additions & 0 deletions

File tree

.github/workflows/publish-mcp.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Publish to MCP Registry
2+
3+
# Publishes server.json to the official MCP registry
4+
# (registry.modelcontextprotocol.io) using GitHub OIDC — no interactive
5+
# login or stored secret needed. Runs on changes to server.json, and can
6+
# be triggered manually.
7+
on:
8+
push:
9+
branches: [main]
10+
paths:
11+
- server.json
12+
- .github/workflows/publish-mcp.yml
13+
workflow_dispatch:
14+
15+
jobs:
16+
publish:
17+
runs-on: ubuntu-latest
18+
permissions:
19+
contents: read
20+
id-token: write # required for GitHub OIDC auth to the registry
21+
steps:
22+
- uses: actions/checkout@v4
23+
24+
- name: Install mcp-publisher
25+
run: |
26+
curl -fsSL "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_linux_amd64.tar.gz" \
27+
| tar -xz mcp-publisher
28+
29+
- name: Authenticate (GitHub OIDC)
30+
run: ./mcp-publisher login github-oidc
31+
32+
- name: Publish
33+
run: ./mcp-publisher publish

server.json

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3+
"name": "io.github.stockmarketscan/earningscalls-mcp",
4+
"title": "EarningsCalls.dev",
5+
"description": "AI access to 177,000+ earnings call transcripts (17,000+ companies, 70 countries, 2020-present) with role-tagged speaker segments and full-text search.",
6+
"version": "0.1.0",
7+
"websiteUrl": "https://earningscalls.dev/mcp",
8+
"repository": {
9+
"url": "https://github.com/stockmarketscan/earningscalls-mcp",
10+
"source": "github"
11+
},
12+
"packages": [
13+
{
14+
"registryType": "npm",
15+
"registryBaseUrl": "https://registry.npmjs.org",
16+
"identifier": "@earningscalls/mcp-server",
17+
"version": "0.1.0",
18+
"transport": {
19+
"type": "stdio"
20+
},
21+
"environmentVariables": [
22+
{
23+
"name": "EARNINGSCALLS_API_KEY",
24+
"description": "Your EarningsCalls.dev API key (ect_...). Paid plan required; get one at https://earningscalls.dev/#pricing",
25+
"isRequired": true,
26+
"isSecret": true
27+
}
28+
]
29+
}
30+
],
31+
"remotes": [
32+
{
33+
"type": "streamable-http",
34+
"url": "https://mcp.earningscalls.dev/mcp",
35+
"headers": [
36+
{
37+
"name": "X-API-Key",
38+
"description": "Your EarningsCalls.dev API key (ect_...). Paid plan required.",
39+
"isRequired": true,
40+
"isSecret": true
41+
}
42+
]
43+
}
44+
]
45+
}

0 commit comments

Comments
 (0)