Skip to content

Commit 7a20c5c

Browse files
chore(release): v0.6.3
GitOrigin-RevId: c0cfd7b2442f4b5b7170c8ced783fc0bf78e0aff
1 parent 5b16bd5 commit 7a20c5c

12 files changed

Lines changed: 36 additions & 31 deletions

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
## Unreleased
44

5+
## 0.6.3 - 2026-08-08
6+
7+
- Updated public ID documentation and validation errors to describe the current typed ID format
8+
without retired migration-version terminology.
9+
510
## 0.6.2 - 2026-08-04
611

712
- Redacted MCP startup diagnostics so invalid credentials and environment values are not written

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,13 @@ installs, set it to your API v1 root, for example `https://rank.example/api/v1`.
8383
token (`bsb_pat_live_...`). Set optional `BISIBILITY_PROJECT_ID` as the default
8484
`X-Bisibility-Project` selector for project-implicit PAT tools; a tool's
8585
optional `project_id` argument overrides it for that call. Every resource ID
86-
accepted by the MCP server, including `BISIBILITY_PROJECT_ID`, must use public
87-
ID v3: a canonical lowercase prefix plus `_` and a 24-character lowercase
88-
CUID2 suffix, for example `prj_a1b2c3d4e5f6g7h8j9k0m2n3`. Raw database IDs,
89-
legacy IDs, mixed-case IDs, and wrong resource prefixes are rejected. Location
90-
selection uses the returned `location_key`, never a location ID.
86+
accepted by the MCP server, including `BISIBILITY_PROJECT_ID`, must use the
87+
current typed public ID format: a canonical lowercase prefix plus `_` and a
88+
24-character lowercase suffix, for example `prj_a1b2c3d4e5f6g7h8j9k0m2n3`.
89+
Malformed IDs, mixed-case IDs, and wrong resource prefixes are rejected.
90+
Location selection uses the returned `location_key`, never a location ID.
9191

92-
The server consumes the public ID v3 contract from the published
92+
The server consumes the public ID contract from the published
9393
`@bisibility/sdk` package. Do not replace it with a local SDK link.
9494

9595
`BISIBILITY_MCP_READ_ONLY` accepts `1`, `true`, `yes`, or `on`, ignoring case. When enabled,

docs/DISTRIBUTION.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# Distribution
22

33
This page is the public source of truth for where the bisibility MCP server is available. Statuses
4-
were last verified on 2026-08-04.
4+
were last verified on 2026-08-08.
55

66
| Channel | Status | Link | Version |
77
| --- | --- | --- | --- |
8-
| npm | Published | [@bisibility/mcp](https://www.npmjs.com/package/@bisibility/mcp) | `0.6.2` |
9-
| Official MCP Registry | Published | [com.bisibility/mcp](https://registry.modelcontextprotocol.io/v0.1/servers?search=com.bisibility%2Fmcp) | `0.6.2` |
10-
| GitHub MCP Registry and VS Code | Pending downstream indexing | [GitHub MCP Registry](https://github.com/mcp) | `0.6.2` upstream |
11-
| Glama server | Listed, schema scan pending | [Open-source server](https://glama.ai/mcp/servers/CorgiCorner/bisibility-mcp) | `0.6.2` |
8+
| npm | Published | [@bisibility/mcp](https://www.npmjs.com/package/@bisibility/mcp) | `0.6.3` |
9+
| Official MCP Registry | Published | [com.bisibility/mcp](https://registry.modelcontextprotocol.io/v0.1/servers?search=com.bisibility%2Fmcp) | `0.6.3` |
10+
| GitHub MCP Registry and VS Code | Pending downstream indexing | [GitHub MCP Registry](https://github.com/mcp) | `0.6.3` upstream |
11+
| Glama server | Listed, schema scan pending | [Open-source server](https://glama.ai/mcp/servers/CorgiCorner/bisibility-mcp) | `0.6.3` |
1212
| Glama connector | Listed, unhealthy - rescan required | [Hosted connector](https://glama.ai/mcp/connectors/com.bisibility/mcp) | Hosted |
1313
| Smithery | Published | [bisibility/mcp](https://smithery.ai/servers/bisibility/mcp) | Hosted |
1414
| Docker MCP Catalog | Submitted - under review | [docker/mcp-registry#4603](https://github.com/docker/mcp-registry/pull/4603) | `0.6.0` |

mcpb/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"manifest_version": "0.4",
44
"name": "bisibility",
55
"display_name": "bisibility",
6-
"version": "0.6.2",
6+
"version": "0.6.3",
77
"description": "Track keyword rankings, research SEO opportunities, and manage bisibility projects with AI agents.",
88
"long_description": "Connect a local MCP client to bisibility Cloud or a self-hosted bisibility instance. The bundle exposes the same rank tracking, keyword research, backlink, alert, and project tools as the npm package, with guided configuration for credentials and least-privilege tool selection.",
99
"author": {

package-lock.json

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@bisibility/mcp",
3-
"version": "0.6.2",
3+
"version": "0.6.3",
44
"mcpName": "com.bisibility/mcp",
55
"description": "MCP server for SEO rank tracking - give AI agents access to keyword rankings, SERP history, and rank checks.",
66
"type": "module",

server.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"name": "com.bisibility/mcp",
44
"title": "bisibility",
55
"description": "Track keyword rankings, research SEO opportunities, and manage bisibility projects with AI agents.",
6-
"version": "0.6.2",
6+
"version": "0.6.3",
77
"websiteUrl": "https://bisibility.com/docs/sdks/mcp",
88
"repository": {
99
"url": "https://github.com/CorgiCorner/bisibility-mcp",
@@ -20,7 +20,7 @@
2020
{
2121
"registryType": "npm",
2222
"identifier": "@bisibility/mcp",
23-
"version": "0.6.2",
23+
"version": "0.6.3",
2424
"runtimeHint": "npx",
2525
"transport": {
2626
"type": "stdio"

src/config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ export function readBisibilityMcpConfig(env: BisibilityMcpEnv = process.env): Bi
126126
if (projectId) {
127127
const parsedProjectId = projectIdInput.safeParse(projectId);
128128
if (!parsedProjectId.success) {
129-
throw new Error("BISIBILITY_PROJECT_ID must be a prj_ public ID v3.");
129+
throw new Error("BISIBILITY_PROJECT_ID must be a prj_ public ID.");
130130
}
131131
return { apiKey, baseUrl, projectId: parsedProjectId.data };
132132
}

src/schemas.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export function assertPublicId<Prefix extends PublicIdPrefix>(
5454
prefix: Prefix,
5555
): asserts value is PublicIdForPrefix<Prefix> {
5656
if (!matchesPublicId(value, prefix)) {
57-
throw new Error(`Expected a ${prefix}_ public ID v3.`);
57+
throw new Error(`Expected a ${prefix}_ public ID.`);
5858
}
5959
}
6060

@@ -71,7 +71,7 @@ export const publicIdInput = <Prefix extends PublicIdPrefix>(prefix: Prefix) =>
7171
.string()
7272
.trim()
7373
.regex(publicIdPattern(prefix), {
74-
message: `Expected a ${prefix}_ public ID v3.`,
74+
message: `Expected a ${prefix}_ public ID.`,
7575
})
7676
.transform((value) => parsePublicId(value, prefix));
7777

@@ -1014,7 +1014,7 @@ function validateAlertTargets(
10141014
if (!matchesPublicId(targetId, expectedPrefix)) {
10151015
ctx.addIssue({
10161016
code: "custom",
1017-
message: `Expected a ${expectedPrefix}_ public ID v3.`,
1017+
message: `Expected a ${expectedPrefix}_ public ID.`,
10181018
path: ["target_ids", index],
10191019
});
10201020
}

src/stdio.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function startupFailureReason(error: unknown) {
2525
if (error.message === "BISIBILITY_BASE_URL cannot be empty.") {
2626
return "empty_base_url";
2727
}
28-
if (error.message === "BISIBILITY_PROJECT_ID must be a prj_ public ID v3.") {
28+
if (error.message === "BISIBILITY_PROJECT_ID must be a prj_ public ID.") {
2929
return "invalid_project_id";
3030
}
3131
if (error.message.startsWith("Unknown BISIBILITY_MCP_TOOLSETS value")) {

0 commit comments

Comments
 (0)