Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 0 additions & 53 deletions .github/workflows/publish-mcp-registry.yml

This file was deleted.

6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## 1.0.1

- The package joins Sourcey's single official MCP Registry entry, `com.sourcey/sourcey`, as the local stdio alternative to the hosted endpoint. It replaces the separate `io.github.sourcey/mcp-server` entry.
- This repository no longer publishes its own registry record; Sourcey's hosted release lists the package.
- No bridge runtime or tool change.

## 1.0.0

- Initial public stdio bridge to Sourcey's hosted MCP server.
Expand Down
8 changes: 4 additions & 4 deletions SBOM.cdx.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@
}
],
"component": {
"bom-ref": "@sourcey/mcp-server@1.0.0",
"bom-ref": "@sourcey/mcp-server@1.0.1",
"type": "library",
"name": "mcp-server",
"version": "1.0.0",
"version": "1.0.1",
"scope": "required",
"author": "Sourcey",
"description": "Installable stdio bridge to Sourcey's live startup offers and Agent Readiness MCP server.",
"purl": "pkg:npm/%40sourcey/mcp-server@1.0.0",
"purl": "pkg:npm/%40sourcey/mcp-server@1.0.1",
"properties": [],
"externalReferences": [
{
Expand Down Expand Up @@ -823,7 +823,7 @@
],
"dependencies": [
{
"ref": "@sourcey/mcp-server@1.0.0",
"ref": "@sourcey/mcp-server@1.0.1",
"dependsOn": [
"@modelcontextprotocol/client@2.0.0",
"@modelcontextprotocol/server@2.0.0",
Expand Down
9 changes: 1 addition & 8 deletions biome.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,7 @@
{
"$schema": "https://biomejs.dev/schemas/2.5.5/schema.json",
"files": {
"includes": [
"**",
"!!dist",
"!!node_modules",
"!!SBOM.cdx.json",
"!!server.json",
"!!glama.json"
]
"includes": ["**", "!!dist", "!!node_modules", "!!SBOM.cdx.json", "!!glama.json"]
},
"formatter": {
"enabled": true,
Expand Down
2 changes: 1 addition & 1 deletion distribution.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"distribution_contract": "sourcey.mcp-bridge-distribution/v1alpha1",
"registry_name": "io.github.sourcey/mcp-server",
"registry_name": "com.sourcey/sourcey",
"implementation_name": "sourcey-mcp-bridge",
"title": "Sourcey",
"registry_description": "Stdio bridge to Sourcey startup offers and Agent Readiness report cards.",
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 2 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"name": "@sourcey/mcp-server",
"version": "1.0.0",
"version": "1.0.1",
"description": "Installable stdio bridge to Sourcey's live startup offers and Agent Readiness MCP server.",
"mcpName": "io.github.sourcey/mcp-server",
"mcpName": "com.sourcey/sourcey",
"license": "MIT",
"type": "module",
"bin": {
Expand All @@ -17,7 +17,6 @@
"README.md",
"SBOM.cdx.json",
"SECURITY.md",
"server.json",
"SUPPORT.md"
],
"repository": {
Expand Down
29 changes: 5 additions & 24 deletions scripts/metadata.mjs
Original file line number Diff line number Diff line change
@@ -1,30 +1,6 @@
export function metadataDocuments(packageManifest, distribution) {
assertMetadata(packageManifest, distribution);
return {
"server.json": {
$schema: "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
name: distribution.registry_name,
title: distribution.title,
description: distribution.registry_description,
version: packageManifest.version,
websiteUrl: distribution.website_url,
icons: [
{
src: distribution.icon.src,
mimeType: distribution.icon.mime_type,
sizes: distribution.icon.sizes,
},
],
repository: { url: distribution.repository, source: "github" },
packages: [
{
registryType: "npm",
identifier: packageManifest.name,
version: packageManifest.version,
transport: { type: "stdio" },
},
],
},
"glama.json": {
$schema: "https://glama.ai/mcp/schemas/server.json",
maintainers: distribution.glama_maintainers,
Expand All @@ -40,6 +16,11 @@ function assertMetadata(packageManifest, distribution) {
if (packageManifest.mcpName !== distribution.registry_name) {
throw new Error("package mcpName must equal the package registry identity.");
}
// Sourcey's hosted registry record lists this package as its local stdio
// alternative; the registry admits it only when mcpName names that record.
if (distribution.registry_name !== "com.sourcey/sourcey") {
throw new Error("The bridge package must bind to Sourcey's hosted registry record.");
}
if (distribution.registry_description.length > 100) {
throw new Error("Official MCP registry descriptions must not exceed 100 characters.");
}
Expand Down
1 change: 0 additions & 1 deletion scripts/verify-packed-package.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ function assertPackageContents(tarball) {
"package/dist/index.js",
"package/dist/bridge.js",
"package/distribution.json",
"package/server.json",
"package/SBOM.cdx.json",
"package/assets/sourcey-mark.png",
]) {
Expand Down
35 changes: 0 additions & 35 deletions scripts/verify-registry.mjs

This file was deleted.

31 changes: 0 additions & 31 deletions server.json

This file was deleted.

7 changes: 6 additions & 1 deletion test/harness.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
import { once } from "node:events";
import { readFile } from "node:fs/promises";
import { createServer } from "node:http";

const packageManifest = JSON.parse(
await readFile(new URL("../package.json", import.meta.url), "utf8"),
);

export async function startFakeSourcey() {
const requests = [];
const server = createServer(async (request, response) => {
Expand Down Expand Up @@ -88,7 +93,7 @@ export async function startFakeSourcey() {
};
}

export async function exerciseBridge(child, expectedVersion = "1.0.0") {
export async function exerciseBridge(child, expectedVersion = packageManifest.version) {
const stdout = lines(child.stdout);
const stderr = [];
child.stderr.on("data", (chunk) => stderr.push(chunk.toString("utf8")));
Expand Down
7 changes: 2 additions & 5 deletions test/metadata.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,9 @@ import { test } from "node:test";
import { bridgeDistribution, bridgeImplementation, bridgePackage } from "../dist/metadata.js";

test("package, registry, runtime, icon, and x402 metadata close over one distribution", async () => {
const server = JSON.parse(await readFile(new URL("../server.json", import.meta.url), "utf8"));
const icon = await readFile(new URL(`../${bridgeDistribution.icon.local_path}`, import.meta.url));
assert.equal(server.name, bridgePackage.mcpName);
assert.equal(server.version, bridgePackage.version);
assert.equal(server.packages[0].identifier, bridgePackage.name);
assert.equal(server.packages[0].version, bridgePackage.version);
assert.equal(bridgePackage.mcpName, "com.sourcey/sourcey");
assert.equal(bridgePackage.mcpName, bridgeDistribution.registry_name);
assert.equal(bridgeImplementation.version, bridgePackage.version);
assert.equal(bridgeImplementation.name, bridgeDistribution.implementation_name);
assert.equal(bridgeDistribution.x402_discovery_url, "https://api.sourcey.com/.well-known/x402");
Expand Down