Raw JSON report machine-readable
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 847,
"has_wiki": false,
"homepage": null,
"languages": {
"Dockerfile": 1029,
"JavaScript": 521,
"TypeScript": 175716
},
"pushed_at": "2026-07-24T00:42:54Z",
"created_at": "2025-06-12T18:09:34Z",
"owner_type": "Organization",
"updated_at": "2026-07-24T04:42:06Z",
"description": null,
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "TypeScript",
"significant_languages": [
"TypeScript"
]
},
"owner": {
"blog": "https://brave.com",
"name": "Brave Software",
"type": "Organization",
"login": "brave",
"company": null,
"location": "San Francisco",
"followers": 5386,
"avatar_url": "https://avatars.githubusercontent.com/u/12301619?v=4",
"created_at": "2015-05-07T18:13:18Z",
"is_verified": null,
"public_repos": 253,
"account_age_days": 4095
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v2.1.0",
"kind": "minor",
"published_at": "2026-07-18T19:29:56Z"
},
{
"tag": "v2.0.85",
"kind": "patch",
"published_at": "2026-06-15T10:26:06Z"
},
{
"tag": "v2.0.84",
"kind": "patch",
"published_at": "2026-06-15T10:18:22Z"
},
{
"tag": "v2.0.83",
"kind": "patch",
"published_at": "2026-06-01T19:10:14Z"
},
{
"tag": "v2.0.82",
"kind": "patch",
"published_at": "2026-05-14T15:26:28Z"
},
{
"tag": "v2.0.81",
"kind": "patch",
"published_at": "2026-05-14T15:10:52Z"
},
{
"tag": "v2.0.80",
"kind": "patch",
"published_at": "2026-04-21T16:12:29Z"
},
{
"tag": "v2.0.79",
"kind": "patch",
"published_at": "2026-04-21T13:16:25Z"
},
{
"tag": "v2.0.78",
"kind": "patch",
"published_at": "2026-04-21T12:55:49Z"
},
{
"tag": "v2.0.77",
"kind": "patch",
"published_at": "2026-04-21T12:41:30Z"
},
{
"tag": "v2.0.76",
"kind": "patch",
"published_at": "2026-04-16T08:43:59Z"
},
{
"tag": "v2.0.75",
"kind": "patch",
"published_at": "2026-02-26T15:42:25Z"
},
{
"tag": "v2.0.74",
"kind": "patch",
"published_at": "2026-02-25T22:51:40Z"
},
{
"tag": "v2.0.73",
"kind": "patch",
"published_at": "2026-02-25T22:33:20Z"
},
{
"tag": "v2.0.72",
"kind": "patch",
"published_at": "2026-01-29T01:49:12Z"
},
{
"tag": "v2.0.71",
"kind": "patch",
"published_at": "2026-01-28T19:25:30Z"
},
{
"tag": "v2.0.70",
"kind": "patch",
"published_at": "2026-01-28T19:10:37Z"
},
{
"tag": "v2.0.69",
"kind": "patch",
"published_at": "2026-01-26T06:15:10Z"
},
{
"tag": "v2.0.68",
"kind": "patch",
"published_at": "2026-01-22T22:19:57Z"
},
{
"tag": "v2.0.67",
"kind": "patch",
"published_at": "2026-01-14T17:44:47Z"
},
{
"tag": "v2.0.66",
"kind": "patch",
"published_at": "2026-01-13T18:50:15Z"
},
{
"tag": "v2.0.65",
"kind": "patch",
"published_at": "2026-01-13T18:28:44Z"
},
{
"tag": "v2.0.64",
"kind": "patch",
"published_at": "2026-01-02T18:35:57Z"
},
{
"tag": "v2.0.63",
"kind": "patch",
"published_at": "2025-12-10T17:35:27Z"
},
{
"tag": "v2.0.62",
"kind": "patch",
"published_at": "2025-12-03T17:54:22Z"
},
{
"tag": "v2.0.61",
"kind": "patch",
"published_at": "2025-11-27T17:05:31Z"
},
{
"tag": "v2.0.60",
"kind": "patch",
"published_at": "2025-11-25T17:57:56Z"
},
{
"tag": "v2.0.59",
"kind": "patch",
"published_at": "2025-11-14T12:42:00Z"
},
{
"tag": "v2.0.58",
"kind": "patch",
"published_at": "2025-10-23T16:28:08Z"
},
{
"tag": "v2.0.57",
"kind": "patch",
"published_at": "2025-10-17T14:19:15Z"
},
{
"tag": "v2.0.56",
"kind": "patch",
"published_at": "2025-10-17T14:04:38Z"
},
{
"tag": "v2.0.55",
"kind": "patch",
"published_at": "2025-10-17T13:49:49Z"
},
{
"tag": "v2.0.54",
"kind": "patch",
"published_at": "2025-10-09T00:05:06Z"
},
{
"tag": "v2.0.53",
"kind": "patch",
"published_at": "2025-10-08T17:36:30Z"
},
{
"tag": "v2.0.52",
"kind": "patch",
"published_at": "2025-10-08T04:27:58Z"
},
{
"tag": "v2.0.51",
"kind": "patch",
"published_at": "2025-10-08T04:08:29Z"
},
{
"tag": "v2.0.50",
"kind": "patch",
"published_at": "2025-10-08T03:48:19Z"
},
{
"tag": "v2.0.49",
"kind": "patch",
"published_at": "2025-10-07T00:34:28Z"
},
{
"tag": "v2.0.48",
"kind": "patch",
"published_at": "2025-10-07T00:19:11Z"
},
{
"tag": "v2.0.47",
"kind": "patch",
"published_at": "2025-10-06T23:45:35Z"
},
{
"tag": "v2.0.46",
"kind": "patch",
"published_at": "2025-10-06T23:11:52Z"
},
{
"tag": "v2.0.45",
"kind": "patch",
"published_at": "2025-10-06T22:55:59Z"
},
{
"tag": "v2.0.44",
"kind": "patch",
"published_at": "2025-10-06T22:45:57Z"
},
{
"tag": "v2.0.43",
"kind": "patch",
"published_at": "2025-10-06T22:29:22Z"
},
{
"tag": "v2.0.42",
"kind": "patch",
"published_at": "2025-10-06T22:15:19Z"
},
{
"tag": "v2.0.41",
"kind": "patch",
"published_at": "2025-10-06T21:25:45Z"
},
{
"tag": "v2.0.40",
"kind": "patch",
"published_at": "2025-10-06T20:58:52Z"
},
{
"tag": "v2.0.39",
"kind": "patch",
"published_at": "2025-10-06T20:26:55Z"
},
{
"tag": "v2.0.38",
"kind": "patch",
"published_at": "2025-10-06T20:10:11Z"
},
{
"tag": "v2.0.37",
"kind": "patch",
"published_at": "2025-10-06T19:50:44Z"
},
{
"tag": "v2.0.36",
"kind": "patch",
"published_at": "2025-10-06T19:34:18Z"
},
{
"tag": "v2.0.35",
"kind": "patch",
"published_at": "2025-10-06T19:23:47Z"
},
{
"tag": "v2.0.34",
"kind": "patch",
"published_at": "2025-10-06T19:11:17Z"
},
{
"tag": "v2.0.33",
"kind": "patch",
"published_at": "2025-10-06T18:53:23Z"
},
{
"tag": "v2.0.32",
"kind": "patch",
"published_at": "2025-10-06T18:22:50Z"
},
{
"tag": "v2.0.31",
"kind": "patch",
"published_at": "2025-10-04T11:55:12Z"
},
{
"tag": "v2.0.30",
"kind": "patch",
"published_at": "2025-10-04T07:56:53Z"
},
{
"tag": "v2.0.29",
"kind": "patch",
"published_at": "2025-10-04T02:25:28Z"
},
{
"tag": "v2.0.28",
"kind": "patch",
"published_at": "2025-10-04T02:10:58Z"
},
{
"tag": "v2.0.27",
"kind": "patch",
"published_at": "2025-10-04T01:09:27Z"
},
{
"tag": "v2.0.26",
"kind": "patch",
"published_at": "2025-10-04T00:26:53Z"
},
{
"tag": "v2.0.25",
"kind": "patch",
"published_at": "2025-10-03T22:41:05Z"
},
{
"tag": "v2.0.24",
"kind": "patch",
"published_at": "2025-09-26T09:51:10Z"
},
{
"tag": "v2.0.23",
"kind": "patch",
"published_at": "2025-09-26T09:38:36Z"
},
{
"tag": "v2.0.22",
"kind": "patch",
"published_at": "2025-09-26T06:10:18Z"
},
{
"tag": "v2.0.21",
"kind": "patch",
"published_at": "2025-09-26T05:58:13Z"
},
{
"tag": "v2.0.20",
"kind": "patch",
"published_at": "2025-09-26T05:36:11Z"
},
{
"tag": "v2.0.19",
"kind": "patch",
"published_at": "2025-09-25T22:39:08Z"
},
{
"tag": "v2.0.18",
"kind": "patch",
"published_at": "2025-09-25T21:35:34Z"
},
{
"tag": "v2.0.17",
"kind": "patch",
"published_at": "2025-09-25T21:18:05Z"
},
{
"tag": "v2.0.16",
"kind": "patch",
"published_at": "2025-09-25T20:28:45Z"
},
{
"tag": "v2.0.15",
"kind": "patch",
"published_at": "2025-09-25T20:04:38Z"
},
{
"tag": "v2.0.14",
"kind": "patch",
"published_at": "2025-09-25T19:11:15Z"
},
{
"tag": "v2.0.13",
"kind": "patch",
"published_at": "2025-09-25T19:08:28Z"
},
{
"tag": "v2.0.12",
"kind": "patch",
"published_at": "2025-09-25T18:59:46Z"
},
{
"tag": "v2.0.11",
"kind": "patch",
"published_at": "2025-09-25T18:57:16Z"
},
{
"tag": "v2.0.10",
"kind": "patch",
"published_at": "2025-09-19T13:21:08Z"
},
{
"tag": "v2.0.9",
"kind": "patch",
"published_at": "2025-09-19T11:50:42Z"
},
{
"tag": "v2.0.8",
"kind": "patch",
"published_at": "2025-09-19T11:34:55Z"
},
{
"tag": "v2.0.7",
"kind": "patch",
"published_at": "2025-09-19T11:29:14Z"
},
{
"tag": "v2.0.6",
"kind": "patch",
"published_at": "2025-09-19T09:35:55Z"
},
{
"tag": "v2.0.5",
"kind": "patch",
"published_at": "2025-09-19T09:30:42Z"
},
{
"tag": "v2.0.4",
"kind": "patch",
"published_at": "2025-09-19T09:17:45Z"
},
{
"tag": "v2.0.3",
"kind": "patch",
"published_at": "2025-09-19T09:02:57Z"
},
{
"tag": "v2.0.1",
"kind": "patch",
"published_at": "2025-09-12T14:17:40Z"
},
{
"tag": "v2.0.0",
"kind": "major",
"published_at": "2025-09-12T14:13:27Z"
},
{
"tag": "v2.0.0-beta",
"kind": "prerelease",
"published_at": "2025-09-10T14:39:48Z"
},
{
"tag": "v1.3.7",
"kind": "patch",
"published_at": "2025-08-28T17:43:45Z"
},
{
"tag": "v1.3.6",
"kind": "patch",
"published_at": "2025-08-20T01:03:07Z"
},
{
"tag": "v1.3.5",
"kind": "patch",
"published_at": "2025-08-14T16:18:28Z"
},
{
"tag": "v1.3.4",
"kind": "patch",
"published_at": "2025-08-04T16:49:13Z"
},
{
"tag": "v1.3.3",
"kind": "patch",
"published_at": "2025-07-30T14:20:52Z"
},
{
"tag": "v1.3.2",
"kind": "patch",
"published_at": "2025-07-24T22:26:07Z"
},
{
"tag": "v1.3.1",
"kind": "patch",
"published_at": "2025-07-16T20:03:38Z"
},
{
"tag": "v1.3.0",
"kind": "minor",
"published_at": "2025-07-14T22:37:23Z"
},
{
"tag": "v1.2.0",
"kind": "minor",
"published_at": "2025-07-11T19:16:17Z"
},
{
"tag": "v1.1.0",
"kind": "minor",
"published_at": "2025-07-09T05:21:38Z"
},
{
"tag": "v1.0.0",
"kind": "major",
"published_at": "2025-07-07T20:18:21Z"
}
],
"recent_commits": [
{
"oid": "76106c83f9d57319478b540374ba261061d26c3e",
"body": null,
"is_bot": true,
"headline": "ci: update build assets (v2.1.0)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-18T19:29:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "576bd312d7ff64d0b7fab888962b3b5391a6ed0e",
"body": null,
"is_bot": false,
"headline": "feat(http): hardens rebinding defenses (#317)",
"author_name": "Sampson",
"author_login": "jonathansampson",
"committed_at": "2026-07-18T19:18:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fd28e3e7b3e1911b4a2ba87a199feb86ec173c60",
"body": "* feat: support reading Brave API key from a file\n* chore: add secret file template and gitignore local keys\n* docs: document optional Docker Compose secrets workflow\n* fix: trim whitespace API keys and exclude secrets from Docker build\n* docs: clarify container paths for BRAVE_API_KEY_FILE\n* test: \n[…]\ner build context ignores\n* test: isolate getOptions tests from local env vars\n* docs: clarify optional use of BRAVE_API_KEY_FILE\n* docs: document BRAVE_API_KEY_FILE in AWS Marketplace catalog template",
"is_bot": false,
"headline": "feat(config): support reading Brave API key from a file (#313)",
"author_name": "Sampson",
"author_login": "jonathansampson",
"committed_at": "2026-06-24T18:53:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e3f77ced06743ce2da4636ba46d21ae08f453213",
"body": "* fix: validate and parse HTTP port as integer\n\nCommander leaves --port as a string, so invalid values like abc previously\npassed numeric range checks. Parse ports strictly before starting HTTP transport.\n\n* test: add parsePort unit tests and npm test script\n\nIntroduce node:test coverage for HTTP po\n[…]\n tsx dev dependency.\n\n* docs: correct README port default and image search description\n\nAlign BRAVE_MCP_PORT default with runtime behavior (8080) and remove the\noutdated v1.x base64 image search note.",
"is_bot": false,
"headline": "fix: http port validation (#312)",
"author_name": "Sampson",
"author_login": "jonathansampson",
"committed_at": "2026-06-24T12:58:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "feeab77f130668b6906eca1ce41310fc8503cc5c",
"body": "Bump hono from 4.12.23 to 4.12.26",
"is_bot": false,
"headline": "Merge pull request #311 from brave/dependabot/npm_and_yarn/hono-4.12.26",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-06-20T19:13:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5af1146982062134110488b14db96ffd14a4510c",
"body": "Bumps [hono](https://github.com/honojs/hono) from 4.12.23 to 4.12.26.\n- [Release notes](https://github.com/honojs/hono/releases)\n- [Commits](https://github.com/honojs/hono/compare/v4.12.23...v4.12.26)\n\n---\nupdated-dependencies:\n- dependency-name: hono\n dependency-version: 4.12.26\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump hono from 4.12.23 to 4.12.26",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-06-20T03:20:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "759b9a880dfe69adcfacb711365c192a305aba50",
"body": null,
"is_bot": true,
"headline": "ci: update build assets (v2.0.85)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-06-15T10:25:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8bfe0cec0261e70e8cb0b30eb6e4f97599e1efa8",
"body": null,
"is_bot": false,
"headline": "bump openssl",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-06-15T10:24:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "16e8e897b930ba2baea848889c3eb2c999b6d21c",
"body": null,
"is_bot": true,
"headline": "ci: update build assets (v2.0.84)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-06-15T10:18:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a3649ce09dc700c7e8f1703e564aab986e5066f8",
"body": "Bump hono from 4.12.18 to 4.12.23",
"is_bot": false,
"headline": "Merge pull request #303 from brave/dependabot/npm_and_yarn/hono-4.12.23",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-06-15T10:17:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "caf0766b8a6dba9bb1eb2ebf5b46408d43b787ca",
"body": "…63791c\n\nBump esbuild and tsx",
"is_bot": false,
"headline": "Merge pull request #309 from brave/dependabot/npm_and_yarn/multi-c08e…",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-06-15T10:16:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fa59e455e965143a775c6be80522cbf0727aef66",
"body": "Bumps [esbuild](https://github.com/evanw/esbuild) to 0.28.1 and updates ancestor dependency [tsx](https://github.com/privatenumber/tsx). These dependencies need to be updated together.\n\n\nUpdates `esbuild` from 0.27.2 to 0.28.1\n- [Release notes](https://github.com/evanw/esbuild/releases)\n- [Changelog\n[…]\nependency-version: 0.28.1\n dependency-type: indirect\n- dependency-name: tsx\n dependency-version: 4.22.4\n dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump esbuild and tsx",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-06-14T12:02:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "63f63852270f05f6d24c55f8fde22228d96d725c",
"body": "Bumps [hono](https://github.com/honojs/hono) from 4.12.18 to 4.12.23.\n- [Release notes](https://github.com/honojs/hono/releases)\n- [Commits](https://github.com/honojs/hono/compare/v4.12.18...v4.12.23)\n\n---\nupdated-dependencies:\n- dependency-name: hono\n dependency-version: 4.12.23\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump hono from 4.12.18 to 4.12.23",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-06-04T21:27:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d915fade87c28d09c0338dd7a5d05d2dc41104c1",
"body": null,
"is_bot": true,
"headline": "ci: update build assets (v2.0.83)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-06-01T19:10:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "19809aa0f0fbb1fc6bba3e4ca215542ffc89f69e",
"body": null,
"is_bot": false,
"headline": "mcp publisher verify",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-06-01T19:09:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e21c6f574a0dea751241fab6fdc1f20f0888c950",
"body": "Bump qs from 6.14.2 to 6.15.2",
"is_bot": false,
"headline": "Merge pull request #299 from brave/dependabot/npm_and_yarn/qs-6.15.2",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-05-23T12:52:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1fd40fedcdb36d3cdac17ceda30947bf556b2ce9",
"body": "Bumps [qs](https://github.com/ljharb/qs) from 6.14.2 to 6.15.2.\n- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/ljharb/qs/compare/v6.14.2...v6.15.2)\n\n---\nupdated-dependencies:\n- dependency-name: qs\n dependency-version: 6.15.2\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump qs from 6.14.2 to 6.15.2",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-23T12:47:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2ffc73b216be24c980579bae9e1fb6d11bca3461",
"body": null,
"is_bot": true,
"headline": "ci: update build assets (v2.0.82)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-05-14T15:26:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1855f9f1362b0713dc22fab2bb50a5602080feaf",
"body": null,
"is_bot": false,
"headline": "Update MCP Publisher version to 1.7.9",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-05-14T15:25:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5470ffa0189ed3e1cf7b4a4a6ff6fcd82d404364",
"body": "Update dependency @modelcontextprotocol/sdk to v1.29.0",
"is_bot": false,
"headline": "Merge pull request #297 from brave/renovate/modelcontextprotocol-sdk-1-x",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-05-14T15:24:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f3cb61e9d4cdf4d1bddccdb72ef148800f0cec62",
"body": null,
"is_bot": true,
"headline": "ci: update build assets (v2.0.81)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-05-14T15:10:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f6dad214fd08c6104c8427de6ddad9e1c029d0a7",
"body": "….1.2\n\nBump fast-uri from 3.1.0 to 3.1.2",
"is_bot": false,
"headline": "Merge pull request #295 from brave/dependabot/npm_and_yarn/fast-uri-3…",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-05-14T15:09:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "378a78ecd9df9d5d42d85ca0df8bb2ec3b3e9da9",
"body": null,
"is_bot": true,
"headline": "Update dependency @modelcontextprotocol/sdk to v1.29.0",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-05-12T10:59:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e6767d53df4c121758dc42730da3bdfc7cfe80b1",
"body": "Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.0 to 3.1.2.\n- [Release notes](https://github.com/fastify/fast-uri/releases)\n- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.2)\n\n---\nupdated-dependencies:\n- dependency-name: fast-uri\n dependency-version: 3.1.2\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump fast-uri from 3.1.0 to 3.1.2",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-09T01:30:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3eb1536d90272179d1a4cb4537983053ab6c05d8",
"body": "Bump hono from 4.12.14 to 4.12.18",
"is_bot": false,
"headline": "Merge pull request #293 from brave/dependabot/npm_and_yarn/hono-4.12.18",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-05-07T08:42:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eccf3a7449e8afe7b702a39223813bd7665cd56e",
"body": "Bumps [hono](https://github.com/honojs/hono) from 4.12.14 to 4.12.18.\n- [Release notes](https://github.com/honojs/hono/releases)\n- [Commits](https://github.com/honojs/hono/compare/v4.12.14...v4.12.18)\n\n---\nupdated-dependencies:\n- dependency-name: hono\n dependency-version: 4.12.18\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump hono from 4.12.14 to 4.12.18",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-07T06:15:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c8f0ccb7b2e265f718651fbcaada910d0a92c95",
"body": "…be8666\n\nBump ip-address and express-rate-limit",
"is_bot": false,
"headline": "Merge pull request #292 from brave/dependabot/npm_and_yarn/multi-7bdf…",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-05-07T04:56:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7526a660bbe8ad64b7406e65c385fa75e720592e",
"body": "Bumps [ip-address](https://github.com/beaugunderson/ip-address) and [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit). These dependencies needed to be updated together.\n\nUpdates `ip-address` from 10.1.0 to 10.2.0\n- [Commits](https://github.com/beaugunderson/ip-address/co\n[…]\ndency-version: 10.2.0\n dependency-type: indirect\n- dependency-name: express-rate-limit\n dependency-version: 8.5.1\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump ip-address and express-rate-limit",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-07T02:18:47Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "42e1861f64d800b21acee4014506c109bca5fd92",
"body": "Improves place_search schemas for better documentation. Avoids double-validation by deferring to MCP SDK for validation of response against outputSchema.",
"is_bot": false,
"headline": "improvements to place_search support (#291)",
"author_name": "Sampson",
"author_login": "jonathansampson",
"committed_at": "2026-05-03T22:16:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a48cf65c9d7130a49f133202fe0e6f531387dda8",
"body": null,
"is_bot": false,
"headline": "adds support for explicit version (#289)",
"author_name": "Sampson",
"author_login": "jonathansampson",
"committed_at": "2026-05-03T21:41:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cb52cbb03b4029e8dab8039eadf24af2f515594a",
"body": null,
"is_bot": false,
"headline": "introduces support for place search endpoint (#288)",
"author_name": "Sampson",
"author_login": "jonathansampson",
"committed_at": "2026-04-29T13:16:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c099abe0f09b146b6f76c173e8dffd09f832e182",
"body": "introduces support for newer LLM Context endpoint, improves request header handling, and also improves handling of optional goggles parameters",
"is_bot": false,
"headline": "Merge pull request #287 from brave/llm_context",
"author_name": "Sampson",
"author_login": "jonathansampson",
"committed_at": "2026-04-26T01:07:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "215e01252a58d6e4f55c4fb2cc920fd584541013",
"body": null,
"is_bot": false,
"headline": "improve header set construction",
"author_name": "Sampson",
"author_login": "jonathansampson",
"committed_at": "2026-04-26T00:48:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7d2d14ef2537192794d9c3eba5bce9beef79483",
"body": null,
"is_bot": false,
"headline": "improves Goggles handling across project",
"author_name": "Sampson",
"author_login": "jonathansampson",
"committed_at": "2026-04-26T00:38:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e878c58a713454f38124e27650f0f49fc5c75256",
"body": null,
"is_bot": false,
"headline": "introduces support for newer LLM Context endpoint",
"author_name": "Sampson",
"author_login": "jonathansampson",
"committed_at": "2026-04-25T23:49:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7861c9b734f40a92c9d4a1fbb530becea4eed2a2",
"body": "Resolves #272",
"is_bot": false,
"headline": "omit result_filter while summarizing (#286)",
"author_name": "Sampson",
"author_login": "jonathansampson",
"committed_at": "2026-04-23T15:03:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d4e9de74cc4424d9bdf778a1edb03dd71f056e31",
"body": "resolves #273",
"is_bot": false,
"headline": "fixes freshness parsing (#285)",
"author_name": "Sampson",
"author_login": "jonathansampson",
"committed_at": "2026-04-22T14:14:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae86cdc13fe55330065a723c76bca0e9b277f793",
"body": null,
"is_bot": false,
"headline": "uses refined, proper tool list in state (#284)",
"author_name": "Sampson",
"author_login": "jonathansampson",
"committed_at": "2026-04-22T14:05:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ba5419076f36108eddbe42805b683199734a4cbd",
"body": null,
"is_bot": true,
"headline": "ci: update build assets (v2.0.80)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-04-21T16:12:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ccff6cc006bf23e4197f367bd1dfe61c0d1652c9",
"body": null,
"is_bot": true,
"headline": "ci: update build assets (v2.0.79)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-04-21T13:16:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "96fc5d67208344ddd256a6804505f372ccfa8e04",
"body": null,
"is_bot": false,
"headline": "Update MCP Publisher version to 1.6.0",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-04-21T13:15:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6fd002af5890cb2fc2465db0da3786deb5b40419",
"body": null,
"is_bot": true,
"headline": "ci: update build assets (v2.0.78)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-04-21T12:55:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7a21025b2cadc8f6650c2d74e35aed3daebdf41b",
"body": null,
"is_bot": false,
"headline": "updates pinned openssl version",
"author_name": "Sampson",
"author_login": "jonathansampson",
"committed_at": "2026-04-21T12:54:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "995a13a23b05b3d0253f907885708956e3bb9139",
"body": null,
"is_bot": true,
"headline": "ci: update build assets (v2.0.77)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-04-21T12:41:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7e837019dcd072c2fbe2bd359c9496759100178f",
"body": "…gin-2-x\n\nUpdate aws-actions/amazon-ecr-login action to v2.1.2",
"is_bot": false,
"headline": "Merge pull request #279 from brave/renovate/aws-actions-amazon-ecr-lo…",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-04-16T08:51:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2ff50981b291ef758179e2a3d72d377bd2387f00",
"body": "…-credentials-6-x\n\nUpdate aws-actions/configure-aws-credentials action to v6.1.0",
"is_bot": false,
"headline": "Merge pull request #280 from brave/renovate/aws-actions-configure-aws…",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-04-16T08:51:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "869a870a6ff1da390360323478b5969e7ce61c33",
"body": "Update docker/login-action action to v4.1.0",
"is_bot": false,
"headline": "Merge pull request #281 from brave/renovate/docker-login-action-4-x",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-04-16T08:50:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7958153eee451367455e8cc3b4cb942c4d463460",
"body": "…se-2-x\n\nUpdate softprops/action-gh-release action to v2.6.1",
"is_bot": false,
"headline": "Merge pull request #282 from brave/renovate/softprops-action-gh-relea…",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-04-16T08:50:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c0fa34506d7d59bec120a9485f7ca9f57bfe0869",
"body": null,
"is_bot": true,
"headline": "ci: update build assets (v2.0.76)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-04-16T08:43:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7de1a485505aa5cf5582e095a5232ae1131fbba5",
"body": null,
"is_bot": true,
"headline": "Update softprops/action-gh-release action to v2.6.1",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-04-16T06:28:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae6f0e5cf26b76d60ed0b3a94f334427c796219f",
"body": null,
"is_bot": true,
"headline": "Update docker/login-action action to v4.1.0",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-04-16T06:28:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8ffd1dc9e84ee119c6ca06abadd94e9a0a46a407",
"body": null,
"is_bot": true,
"headline": "Update aws-actions/configure-aws-credentials action to v6.1.0",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-04-16T06:28:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5a33971b5aeca69b69cd91bd62f71d3bf35bd1bb",
"body": null,
"is_bot": true,
"headline": "Update aws-actions/amazon-ecr-login action to v2.1.2",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-04-16T06:28:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fb734ddadce244e6b105fb27a38a31687c8ce9fc",
"body": "Bump hono from 4.12.12 to 4.12.14",
"is_bot": false,
"headline": "Merge pull request #278 from brave/dependabot/npm_and_yarn/hono-4.12.14",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-04-16T06:23:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "adeb31468f710d2e828fea9e94ada5df5950d4b7",
"body": "Bumps [hono](https://github.com/honojs/hono) from 4.12.12 to 4.12.14.\n- [Release notes](https://github.com/honojs/hono/releases)\n- [Commits](https://github.com/honojs/hono/compare/v4.12.12...v4.12.14)\n\n---\nupdated-dependencies:\n- dependency-name: hono\n dependency-version: 4.12.14\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump hono from 4.12.12 to 4.12.14",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-16T03:02:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "91d26bf4dab52423e60148e1add8c76e1a0aa52e",
"body": "Bump lodash from 4.17.23 to 4.18.1",
"is_bot": false,
"headline": "Merge pull request #276 from brave/dependabot/npm_and_yarn/lodash-4.18.1",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-04-08T09:01:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c8284fe6c275baa6c8828f3b671c6099a4640cb",
"body": "Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.\n- [Release notes](https://github.com/lodash/lodash/releases)\n- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)\n\n---\nupdated-dependencies:\n- dependency-name: lodash\n dependency-version: 4.18.1\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump lodash from 4.17.23 to 4.18.1",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-08T09:00:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a7bbdcdd08b4e331656a0d7a82123b15128ef832",
"body": "…server-1.19.13\n\nBump @hono/node-server from 1.19.10 to 1.19.13",
"is_bot": false,
"headline": "Merge pull request #274 from brave/dependabot/npm_and_yarn/hono/node-…",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-04-08T08:59:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8d5f980b0b10cf36dc95586ecfd55cf2f4cea331",
"body": "Bump hono from 4.12.7 to 4.12.12",
"is_bot": false,
"headline": "Merge pull request #275 from brave/dependabot/npm_and_yarn/hono-4.12.12",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-04-08T08:59:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a7fdc46d8d91fa3270da14144de903062096bdfe",
"body": "Bumps [hono](https://github.com/honojs/hono) from 4.12.7 to 4.12.12.\n- [Release notes](https://github.com/honojs/hono/releases)\n- [Commits](https://github.com/honojs/hono/compare/v4.12.7...v4.12.12)\n\n---\nupdated-dependencies:\n- dependency-name: hono\n dependency-version: 4.12.12\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump hono from 4.12.7 to 4.12.12",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-08T04:22:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a675700d333630c533f78a808422dccf1bfe88ad",
"body": "Bumps [@hono/node-server](https://github.com/honojs/node-server) from 1.19.10 to 1.19.13.\n- [Release notes](https://github.com/honojs/node-server/releases)\n- [Commits](https://github.com/honojs/node-server/compare/v1.19.10...v1.19.13)\n\n---\nupdated-dependencies:\n- dependency-name: \"@hono/node-server\"\n dependency-version: 1.19.13\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump @hono/node-server from 1.19.10 to 1.19.13",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-08T02:52:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "52590e9733451c9cb090bd70645a76d83a337aa3",
"body": "…2.3.2\n\nBump picomatch from 2.3.1 to 2.3.2",
"is_bot": false,
"headline": "Merge pull request #268 from brave/dependabot/npm_and_yarn/picomatch-…",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-03-28T20:20:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d6751636a35a6bcac07353135adab220437d9cd4",
"body": "…-1.4.0\n\nBump node-forge from 1.3.2 to 1.4.0",
"is_bot": false,
"headline": "Merge pull request #269 from brave/dependabot/npm_and_yarn/node-forge…",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-03-28T20:20:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8dfd84703d55242e48dd64c8de9a25413367f4d9",
"body": "Bumps [node-forge](https://github.com/digitalbazaar/forge) from 1.3.2 to 1.4.0.\n- [Changelog](https://github.com/digitalbazaar/forge/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/digitalbazaar/forge/compare/v1.3.2...v1.4.0)\n\n---\nupdated-dependencies:\n- dependency-name: node-forge\n dependency-version: 1.4.0\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump node-forge from 1.3.2 to 1.4.0",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-28T14:39:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cd45a1e52fabf1bebbbd48c818b198db7b7a010f",
"body": "Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.\n- [Release notes](https://github.com/micromatch/picomatch/releases)\n- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)\n\n---\nupdated-dependencies:\n- dependency-name: picomatch\n dependency-version: 2.3.2\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump picomatch from 2.3.1 to 2.3.2",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-28T14:39:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "273a564991d64b367b5fce0e4d971e8c98b53327",
"body": "…gexp-8.4.0\n\nBump path-to-regexp from 8.2.0 to 8.4.0",
"is_bot": false,
"headline": "Merge pull request #267 from brave/dependabot/npm_and_yarn/path-to-re…",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-03-28T14:38:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e4902fc62eeda22a96593f8288db483673ea5983",
"body": "Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) from 8.2.0 to 8.4.0.\n- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)\n- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)\n- [Commits](https://github.com/pillarjs/path-to-regexp/compare/v8.2.0...v8.4.0)\n\n---\nupdated-dependencies:\n- dependency-name: path-to-regexp\n dependency-version: 8.4.0\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump path-to-regexp from 8.2.0 to 8.4.0",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-28T14:31:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c123d25dcf3c2d53b38bf89e6c3f7f6e7261d8c8",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "Sampson",
"author_login": "jonathansampson",
"committed_at": "2026-03-17T20:23:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "26e38379a289784ab4594bd219bfef0c83c8feec",
"body": "chore(deps): update node.js to 5209bca",
"is_bot": false,
"headline": "Merge pull request #265 from brave/renovate/node-alpine",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-03-16T11:07:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fc75ea61d3ebc0698022759fad5af7ba0fbaf693",
"body": "chore(deps): update docker/login-action action to v4",
"is_bot": false,
"headline": "Merge pull request #262 from brave/renovate/docker-login-action-4-x",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-03-14T11:01:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4d67d8a6d80e9f9ac81ca18c32eaaa980fe94eae",
"body": "chore(deps): update docker/build-push-action action to v7",
"is_bot": false,
"headline": "Merge pull request #261 from brave/renovate/docker-build-push-action-7-x",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-03-14T11:01:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "17fff3d70edbf558141afa1c7c86249a05187db0",
"body": "chore(deps): update actions/setup-node action to v6.3.0",
"is_bot": false,
"headline": "Merge pull request #260 from brave/renovate/actions-setup-node-6-x",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-03-14T11:01:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5fe7bf708721b97418b992169d12edcb946d9474",
"body": "fix(deps): update dependency @modelcontextprotocol/sdk to v1.27.1",
"is_bot": false,
"headline": "Merge pull request #259 from brave/renovate/modelcontextprotocol-sdk-1-x",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-03-14T11:01:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bf622cab8a79b684285bba45c08c895379fb6d72",
"body": "…n-4-x\n\nchore(deps): update docker/setup-buildx-action action to v4",
"is_bot": false,
"headline": "Merge pull request #263 from brave/renovate/docker-setup-buildx-actio…",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-03-14T11:00:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6644923d3c2bba5fefeadf1779eaea67bfac5a1a",
"body": "chore(deps): update docker/setup-qemu-action action to v4",
"is_bot": false,
"headline": "Merge pull request #264 from brave/renovate/docker-setup-qemu-action-4-x",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-03-14T11:00:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f86cfd154161e8cf490dbac37fd133abaee7efc9",
"body": null,
"is_bot": true,
"headline": "chore(deps): update node.js to 5209bca",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-03-14T10:50:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4f7132a5a7e0050f257261778e2a301d75a519d5",
"body": null,
"is_bot": false,
"headline": "Update MCP Publisher version to 1.5.0",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-03-14T10:49:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4111e5178d370512d38d7be8b283c82fce808649",
"body": null,
"is_bot": true,
"headline": "fix(deps): update dependency @modelcontextprotocol/sdk to v1.27.1",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-03-13T11:39:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0e7e0ea9a92a40f8d69f3953d3d8ddcc53f87fd7",
"body": null,
"is_bot": true,
"headline": "chore(deps): update docker/build-push-action action to v7",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-03-12T18:57:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "21604bd9b2799428cbbf1f6496019c02103bda0a",
"body": null,
"is_bot": true,
"headline": "chore(deps): update docker/setup-buildx-action action to v4",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-03-12T09:19:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ee381334f22cd9b522f9f3604c35336f91137319",
"body": null,
"is_bot": true,
"headline": "chore(deps): update docker/setup-qemu-action action to v4",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-03-11T09:37:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fe41dabe6ca6444616ced09271974489016a2a0b",
"body": "Bump hono from 4.12.5 to 4.12.7",
"is_bot": false,
"headline": "Merge pull request #258 from brave/dependabot/npm_and_yarn/hono-4.12.7",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-03-11T09:30:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "10b54f1f116ce939c110cccf0b6bd3809b23a6c1",
"body": "Bumps [hono](https://github.com/honojs/hono) from 4.12.5 to 4.12.7.\n- [Release notes](https://github.com/honojs/hono/releases)\n- [Commits](https://github.com/honojs/hono/compare/v4.12.5...v4.12.7)\n\n---\nupdated-dependencies:\n- dependency-name: hono\n dependency-version: 4.12.7\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump hono from 4.12.5 to 4.12.7",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-11T02:05:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1ef4fb3e442a99b79bac6708e6c2d2ae0bf3ab1e",
"body": null,
"is_bot": true,
"headline": "chore(deps): update docker/login-action action to v4",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-03-11T01:04:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f6c7e9d326d4a0a2374f8f52587fad9041b59f64",
"body": null,
"is_bot": true,
"headline": "chore(deps): update actions/setup-node action to v6.3.0",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-03-09T22:45:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7bb69c8371d68652ffe2e425fc79fc49d6a04ff8",
"body": "…te-limit-8.3.0\n\nBump express-rate-limit from 8.2.1 to 8.3.0",
"is_bot": false,
"headline": "Merge pull request #256 from brave/dependabot/npm_and_yarn/express-ra…",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-03-06T18:42:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9f48ddff198a6b93322fd36b7969b7c942076257",
"body": "Bumps [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit) from 8.2.1 to 8.3.0.\n- [Release notes](https://github.com/express-rate-limit/express-rate-limit/releases)\n- [Commits](https://github.com/express-rate-limit/express-rate-limit/compare/v8.2.1...v8.3.0)\n\n---\nupdated-dependencies:\n- dependency-name: express-rate-limit\n dependency-version: 8.3.0\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump express-rate-limit from 8.2.1 to 8.3.0",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-06T18:41:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5eb1d2d7aa59c8b98550e4cea8d7318cfc2c4742",
"body": "…server-1.19.10\n\nBump @hono/node-server from 1.19.9 to 1.19.10",
"is_bot": false,
"headline": "Merge pull request #253 from brave/dependabot/npm_and_yarn/hono/node-…",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-03-04T21:53:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5218576335700a28eed1acbc00496d750aa4d12c",
"body": "Bumps [@hono/node-server](https://github.com/honojs/node-server) from 1.19.9 to 1.19.10.\n- [Release notes](https://github.com/honojs/node-server/releases)\n- [Commits](https://github.com/honojs/node-server/compare/v1.19.9...v1.19.10)\n\n---\nupdated-dependencies:\n- dependency-name: \"@hono/node-server\"\n dependency-version: 1.19.10\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump @hono/node-server from 1.19.9 to 1.19.10",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-04T21:46:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3ae261f6cd7033971cee1345799c7921581f94ad",
"body": "Bump hono from 4.12.2 to 4.12.5",
"is_bot": false,
"headline": "Merge pull request #252 from brave/dependabot/npm_and_yarn/hono-4.12.5",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-03-04T21:31:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e793b33bbac449c1fde2741bc2a8b4b7d42565b4",
"body": "Bumps [hono](https://github.com/honojs/hono) from 4.12.2 to 4.12.5.\n- [Release notes](https://github.com/honojs/hono/releases)\n- [Commits](https://github.com/honojs/hono/compare/v4.12.2...v4.12.5)\n\n---\nupdated-dependencies:\n- dependency-name: hono\n dependency-version: 4.12.5\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump hono from 4.12.2 to 4.12.5",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-04T21:16:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "10a59ec10ad7c70455097c707cf8071a6eed5e0c",
"body": "chore(deps): update node.js to 636c5bc",
"is_bot": false,
"headline": "Merge pull request #251 from brave/renovate/node-alpine",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-03-04T10:41:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "16732d6b616310b5383b1134701e9c810573f5ef",
"body": null,
"is_bot": true,
"headline": "chore(deps): update node.js to 636c5bc",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-03-04T02:00:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "327f6e75cf2c25cb50a489c46ddaa22f2466363b",
"body": "fix(deps): update dependency @modelcontextprotocol/sdk to v1.27.0",
"is_bot": false,
"headline": "Merge pull request #243 from brave/renovate/modelcontextprotocol-sdk-1-x",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-02-27T08:28:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "00e78d4937ca03f5964b9e37990c7bffc062029f",
"body": "fix(deps): update dependency dotenv to v17.3.1",
"is_bot": false,
"headline": "Merge pull request #244 from brave/renovate/dotenv-17-x",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-02-27T08:28:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a7152bb4847c35d7ccc672a82ea999a19f14b3d1",
"body": "chore(deps): update dependency @types/node to v24.10.13",
"is_bot": false,
"headline": "Merge pull request #246 from brave/renovate/node-24-x",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-02-27T08:28:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "79f0d8be3b491ed34282286889a8a8ccb5babc91",
"body": null,
"is_bot": true,
"headline": "fix(deps): update dependency dotenv to v17.3.1",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-02-27T08:18:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5cabf08a642e25559eb661c60ca096d7f4c83b57",
"body": null,
"is_bot": true,
"headline": "fix(deps): update dependency @modelcontextprotocol/sdk to v1.27.0",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-02-27T08:18:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a1341df62bc343c155bdbc892c6037ef60f26bb8",
"body": "…-credentials-6-x\n\nchore(deps): update aws-actions/configure-aws-credentials action to v6",
"is_bot": false,
"headline": "Merge pull request #245 from brave/renovate/aws-actions-configure-aws…",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-02-27T08:18:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c53ff41bc6e7ae04dcad91c095f0b467d6ef8987",
"body": "fix(deps): update dependency commander to v14.0.3",
"is_bot": false,
"headline": "Merge pull request #247 from brave/renovate/commander-14-x",
"author_name": "Mihai PLESA",
"author_login": "mihaiplesa",
"committed_at": "2026-02-27T08:17:31Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 98,
"commits_last_year": 510,
"latest_release_at": "2026-07-18T19:29:56Z",
"latest_release_tag": "v2.1.0",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 43,
"days_since_latest_release": 5,
"mean_days_between_releases": 9.8
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": false,
"has_contributing": false,
"health_percentage": 25,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "@brave/brave-search-mcp-server",
"exists": true,
"license": "MIT",
"keywords": [
"api",
"brave",
"mcp",
"search"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@brave/brave-search-mcp-server",
"is_deprecated": false,
"latest_version": "2.1.0",
"repository_url": "https://github.com/brave/brave-search-mcp-server",
"versions_count": 91,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 10,
"monthly_downloads": 77801,
"first_published_at": "2025-07-16T20:03:36.668000Z",
"latest_published_at": "2026-07-18T19:30:01.486000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
}
]
},
"popularity": {
"forks": 185,
"stars": 1322,
"watchers": 8,
"fork_history": {
"days": [
{
"date": "2025-07-17",
"count": 1
},
{
"date": "2025-07-18",
"count": 1
},
{
"date": "2025-07-24",
"count": 1
},
{
"date": "2025-07-28",
"count": 1
},
{
"date": "2025-07-31",
"count": 1
},
{
"date": "2025-08-04",
"count": 1
},
{
"date": "2025-08-07",
"count": 2
},
{
"date": "2025-08-10",
"count": 1
},
{
"date": "2025-08-12",
"count": 1
},
{
"date": "2025-08-14",
"count": 1
},
{
"date": "2025-08-15",
"count": 2
},
{
"date": "2025-08-16",
"count": 1
},
{
"date": "2025-08-17",
"count": 2
},
{
"date": "2025-08-24",
"count": 1
},
{
"date": "2025-08-25",
"count": 1
},
{
"date": "2025-08-26",
"count": 1
},
{
"date": "2025-08-27",
"count": 1
},
{
"date": "2025-08-29",
"count": 1
},
{
"date": "2025-08-31",
"count": 1
},
{
"date": "2025-09-07",
"count": 1
},
{
"date": "2025-09-09",
"count": 1
},
{
"date": "2025-09-10",
"count": 1
},
{
"date": "2025-09-12",
"count": 2
},
{
"date": "2025-09-15",
"count": 1
},
{
"date": "2025-09-19",
"count": 1
},
{
"date": "2025-09-20",
"count": 1
},
{
"date": "2025-09-21",
"count": 1
},
{
"date": "2025-09-22",
"count": 1
},
{
"date": "2025-09-26",
"count": 2
},
{
"date": "2025-09-27",
"count": 2
},
{
"date": "2025-10-01",
"count": 1
},
{
"date": "2025-10-04",
"count": 1
},
{
"date": "2025-10-06",
"count": 2
},
{
"date": "2025-10-08",
"count": 4
},
{
"date": "2025-10-11",
"count": 1
},
{
"date": "2025-10-12",
"count": 1
},
{
"date": "2025-10-13",
"count": 3
},
{
"date": "2025-10-16",
"count": 1
},
{
"date": "2025-10-22",
"count": 1
},
{
"date": "2025-10-27",
"count": 3
},
{
"date": "2025-10-28",
"count": 1
},
{
"date": "2025-10-29",
"count": 1
},
{
"date": "2025-11-06",
"count": 1
},
{
"date": "2025-11-07",
"count": 2
},
{
"date": "2025-11-08",
"count": 1
},
{
"date": "2025-11-10",
"count": 1
},
{
"date": "2025-11-12",
"count": 1
},
{
"date": "2025-11-13",
"count": 1
},
{
"date": "2025-11-16",
"count": 2
},
{
"date": "2025-11-18",
"count": 1
},
{
"date": "2025-11-19",
"count": 1
},
{
"date": "2025-11-20",
"count": 2
},
{
"date": "2025-11-23",
"count": 2
},
{
"date": "2025-11-30",
"count": 1
},
{
"date": "2025-12-03",
"count": 1
},
{
"date": "2025-12-04",
"count": 1
},
{
"date": "2025-12-09",
"count": 1
},
{
"date": "2025-12-11",
"count": 1
},
{
"date": "2025-12-15",
"count": 2
},
{
"date": "2025-12-17",
"count": 2
},
{
"date": "2025-12-18",
"count": 1
},
{
"date": "2025-12-20",
"count": 2
},
{
"date": "2025-12-22",
"count": 1
},
{
"date": "2025-12-23",
"count": 1
},
{
"date": "2025-12-26",
"count": 1
},
{
"date": "2025-12-27",
"count": 1
},
{
"date": "2025-12-28",
"count": 3
},
{
"date": "2025-12-29",
"count": 2
},
{
"date": "2025-12-31",
"count": 1
},
{
"date": "2026-01-01",
"count": 1
},
{
"date": "2026-01-12",
"count": 1
},
{
"date": "2026-01-18",
"count": 2
},
{
"date": "2026-01-28",
"count": 1
},
{
"date": "2026-01-29",
"count": 1
},
{
"date": "2026-01-31",
"count": 2
},
{
"date": "2026-02-01",
"count": 2
},
{
"date": "2026-02-03",
"count": 1
},
{
"date": "2026-02-04",
"count": 1
},
{
"date": "2026-02-07",
"count": 1
},
{
"date": "2026-02-08",
"count": 1
},
{
"date": "2026-02-09",
"count": 1
},
{
"date": "2026-02-10",
"count": 1
},
{
"date": "2026-02-13",
"count": 1
},
{
"date": "2026-02-18",
"count": 3
},
{
"date": "2026-02-24",
"count": 2
},
{
"date": "2026-02-25",
"count": 2
},
{
"date": "2026-02-27",
"count": 1
},
{
"date": "2026-03-01",
"count": 1
},
{
"date": "2026-03-02",
"count": 2
},
{
"date": "2026-03-05",
"count": 1
},
{
"date": "2026-03-08",
"count": 1
},
{
"date": "2026-03-09",
"count": 1
},
{
"date": "2026-03-10",
"count": 1
},
{
"date": "2026-03-12",
"count": 1
},
{
"date": "2026-03-13",
"count": 1
},
{
"date": "2026-03-17",
"count": 1
},
{
"date": "2026-03-21",
"count": 1
},
{
"date": "2026-03-24",
"count": 1
},
{
"date": "2026-03-26",
"count": 2
},
{
"date": "2026-03-30",
"count": 1
},
{
"date": "2026-04-01",
"count": 1
},
{
"date": "2026-04-09",
"count": 2
},
{
"date": "2026-04-11",
"count": 1
},
{
"date": "2026-04-13",
"count": 2
},
{
"date": "2026-04-15",
"count": 1
},
{
"date": "2026-04-25",
"count": 1
},
{
"date": "2026-04-28",
"count": 2
},
{
"date": "2026-04-29",
"count": 1
},
{
"date": "2026-05-01",
"count": 1
},
{
"date": "2026-05-03",
"count": 1
},
{
"date": "2026-05-06",
"count": 1
},
{
"date": "2026-05-16",
"count": 1
},
{
"date": "2026-05-18",
"count": 1
},
{
"date": "2026-05-19",
"count": 3
},
{
"date": "2026-05-20",
"count": 1
},
{
"date": "2026-05-23",
"count": 2
},
{
"date": "2026-05-28",
"count": 1
},
{
"date": "2026-05-29",
"count": 1
},
{
"date": "2026-05-30",
"count": 1
},
{
"date": "2026-06-01",
"count": 2
},
{
"date": "2026-06-02",
"count": 1
},
{
"date": "2026-06-03",
"count": 2
},
{
"date": "2026-06-04",
"count": 2
},
{
"date": "2026-06-05",
"count": 1
},
{
"date": "2026-06-08",
"count": 1
},
{
"date": "2026-06-11",
"count": 1
},
{
"date": "2026-06-13",
"count": 1
},
{
"date": "2026-06-17",
"count": 1
},
{
"date": "2026-06-19",
"count": 2
},
{
"date": "2026-06-21",
"count": 1
},
{
"date": "2026-06-22",
"count": 1
},
{
"date": "2026-06-23",
"count": 1
},
{
"date": "2026-06-24",
"count": 1
},
{
"date": "2026-06-27",
"count": 2
},
{
"date": "2026-06-29",
"count": 1
},
{
"date": "2026-07-01",
"count": 1
},
{
"date": "2026-07-06",
"count": 2
},
{
"date": "2026-07-18",
"count": 1
},
{
"date": "2026-07-19",
"count": 1
}
],
"complete": true,
"collected": 184,
"total_forks": 185
},
"star_history": null,
"open_issues_and_prs": 29
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": true,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [
"tsconfig.json"
],
"toolchain_manifests": [],
"largest_source_bytes": 31231,
"source_files_sampled": 43,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"package.json"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [
{
"name": "@hono/node-server",
"direct": false,
"version": "1.19.14",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.9,
"advisory_ids": [
"GHSA-frvp-7c67-39w9"
],
"fixed_version": "2.0.5",
"advisory_count": 1,
"oldest_advisory_days": 2
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"moderate": 1
},
"advisory_count": 1,
"affected_count": 1,
"assessed_count": 97,
"malicious_count": 0,
"assessed_package": "npm:@brave/brave-search-mcp-server@2.1.0",
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"npm"
],
"dependencies": [
{
"name": "@modelcontextprotocol/sdk",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "1.29.0"
},
{
"name": "commander",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "14.0.3"
},
{
"name": "dotenv",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "17.3.1"
},
{
"name": "express",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "5.2.1"
},
{
"name": "zod",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "4.3.6"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "@modelcontextprotocol/sdk",
"direct": true,
"version": "1.29.0",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": true,
"version": "14.0.3",
"ecosystem": "npm"
},
{
"name": "dotenv",
"direct": true,
"version": "17.3.1",
"ecosystem": "npm"
},
{
"name": "express",
"direct": true,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "zod",
"direct": true,
"version": "4.3.6",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openharmony-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@hono/node-server",
"direct": false,
"version": "1.19.13",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.scandir",
"direct": false,
"version": "2.1.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.stat",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.walk",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "@types/body-parser",
"direct": false,
"version": "1.19.6",
"ecosystem": "npm"
},
{
"name": "@types/connect",
"direct": false,
"version": "3.4.38",
"ecosystem": "npm"
},
{
"name": "@types/express",
"direct": false,
"version": "5.0.6",
"ecosystem": "npm"
},
{
"name": "@types/express-serve-static-core",
"direct": false,
"version": "5.0.6",
"ecosystem": "npm"
},
{
"name": "@types/http-errors",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@types/mime",
"direct": false,
"version": "1.3.5",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "24.10.13",
"ecosystem": "npm"
},
{
"name": "@types/qs",
"direct": false,
"version": "6.14.0",
"ecosystem": "npm"
},
{
"name": "@types/range-parser",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "@types/send",
"direct": false,
"version": "0.17.5",
"ecosystem": "npm"
},
{
"name": "@types/serve-static",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "accepts",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "8.18.0",
"ecosystem": "npm"
},
{
"name": "ajv-formats",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "body-parser",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "braces",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "bytes",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "call-bind-apply-helpers",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "call-bound",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "content-disposition",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "content-type",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "cookie",
"direct": false,
"version": "0.7.2",
"ecosystem": "npm"
},
{
"name": "cookie-signature",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "cors",
"direct": false,
"version": "2.8.5",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "6.0.6",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "depd",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "dunder-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "ee-first",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "encodeurl",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "end-of-stream",
"direct": false,
"version": "1.4.5",
"ecosystem": "npm"
},
{
"name": "es-define-property",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "es-errors",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "es-object-atoms",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "escape-html",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "etag",
"direct": false,
"version": "1.8.1",
"ecosystem": "npm"
},
{
"name": "eventsource",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "eventsource-parser",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "execa",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "express-rate-limit",
"direct": false,
"version": "8.5.1",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-glob",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "fast-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "fastq",
"direct": false,
"version": "1.19.1",
"ecosystem": "npm"
},
{
"name": "fill-range",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "finalhandler",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "forwarded",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "fresh",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "function-bind",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "get-intrinsic",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "get-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "gopd",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "has-symbols",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "hono",
"direct": false,
"version": "4.12.26",
"ecosystem": "npm"
},
{
"name": "http-errors",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.7.0",
"ecosystem": "npm"
},
{
"name": "inherits",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "interpret",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "ip-address",
"direct": false,
"version": "10.2.0",
"ecosystem": "npm"
},
{
"name": "ipaddr.js",
"direct": false,
"version": "1.9.1",
"ecosystem": "npm"
},
{
"name": "is-core-module",
"direct": false,
"version": "2.16.1",
"ecosystem": "npm"
},
{
"name": "is-extglob",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-glob",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "is-number",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "is-promise",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "jose",
"direct": false,
"version": "6.1.3",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "json-schema-typed",
"direct": false,
"version": "8.0.2",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "media-typer",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "merge-descriptors",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "merge2",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "micromatch",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "mime-db",
"direct": false,
"version": "1.54.0",
"ecosystem": "npm"
},
{
"name": "mime-types",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "minimist",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "negotiator",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "nice-try",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "npm-run-path",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "object-inspect",
"direct": false,
"version": "1.13.4",
"ecosystem": "npm"
},
{
"name": "on-finished",
"direct": false,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "once",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "p-finally",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "parseurl",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "path-parse",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "path-to-regexp",
"direct": false,
"version": "8.4.0",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "pkce-challenge",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "prettier",
"direct": false,
"version": "3.8.1",
"ecosystem": "npm"
},
{
"name": "proxy-addr",
"direct": false,
"version": "2.0.7",
"ecosystem": "npm"
},
{
"name": "pump",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "qs",
"direct": false,
"version": "6.15.2",
"ecosystem": "npm"
},
{
"name": "queue-microtask",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "range-parser",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "raw-body",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "rechoir",
"direct": false,
"version": "0.6.2",
"ecosystem": "npm"
},
{
"name": "require-from-string",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.22.10",
"ecosystem": "npm"
},
{
"name": "reusify",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "router",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "run-parallel",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "safer-buffer",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "5.7.2",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.7.3",
"ecosystem": "npm"
},
{
"name": "send",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "serve-static",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "setprototypeof",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "shelljs",
"direct": false,
"version": "0.9.2",
"ecosystem": "npm"
},
{
"name": "shx",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "side-channel",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "side-channel-list",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "side-channel-map",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-weakmap",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "statuses",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "strip-eof",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "supports-preserve-symlinks-flag",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "to-regex-range",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "toidentifier",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "tsx",
"direct": false,
"version": "4.22.4",
"ecosystem": "npm"
},
{
"name": "type-is",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "5.9.3",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "unpipe",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "vary",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "wrappy",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "zod-to-json-schema",
"direct": false,
"version": "3.25.1",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 181,
"direct_count": 5,
"indirect_count": 176
}
},
"maintainership": {
"issues": {
"open_prs": 8,
"merged_prs": 239,
"open_issues": 21,
"closed_ratio": 0.618,
"closed_issues": 34,
"closed_unmerged_prs": 14
},
"bus_factor": 1,
"bot_contributors": 5,
"top_contributors": [
{
"type": "User",
"login": "mihaiplesa",
"commits": 181,
"avatar_url": "https://avatars.githubusercontent.com/u/907672?v=4"
},
{
"type": "User",
"login": "jonathansampson",
"commits": 86,
"avatar_url": "https://avatars.githubusercontent.com/u/815158?v=4"
},
{
"type": "User",
"login": "hspencer77",
"commits": 50,
"avatar_url": "https://avatars.githubusercontent.com/u/1253462?v=4"
},
{
"type": "User",
"login": "y3ti",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/322057?v=4"
},
{
"type": "User",
"login": "lukaslevert",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/79997955?v=4"
},
{
"type": "User",
"login": "arjunkmrm",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/90433405?v=4"
},
{
"type": "User",
"login": "thypon",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/581115?v=4"
},
{
"type": "User",
"login": "antonpk1",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/105124934?v=4"
},
{
"type": "User",
"login": "nadetastic",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/87148442?v=4"
},
{
"type": "User",
"login": "slimslenderslacks",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/1643888?v=4"
}
],
"contributors_sampled": 12,
"top_contributor_share": 0.547
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"build-release.yml"
],
"has_docs_dir": false,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"package-lock.json"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "13 out of 13 merged PRs checked by a CI test -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 1,
"reason": "Found 2/14 approved changesets -- score normalized to 1",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 4 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 10,
"reason": "all dependencies are pinned",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 9,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 3,
"reason": "7 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "76106c83f9d57319478b540374ba261061d26c3e",
"ran_at": "2026-07-24T05:33:34Z",
"aggregate_score": 6.6,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-24T03:26:25Z",
"oldest_open_prs": [
{
"number": 37,
"created_at": "2025-08-09T00:13:20Z",
"last_comment_at": "2026-06-15T03:19:28Z",
"last_comment_author": "wangwllu"
},
{
"number": 198,
"created_at": "2025-12-21T13:29:21Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 199,
"created_at": "2025-12-25T15:40:55Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 227,
"created_at": "2026-01-31T14:52:49Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 314,
"created_at": "2026-06-27T22:45:24Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 315,
"created_at": "2026-06-28T02:35:15Z",
"last_comment_at": "2026-07-19T22:56:19Z",
"last_comment_author": "github-actions"
},
{
"number": 319,
"created_at": "2026-07-21T20:35:43Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 320,
"created_at": "2026-07-24T00:42:55Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-07-18T19:18:54Z",
"ci_last_conclusion": "FAILURE",
"oldest_open_issues": [
{
"number": 3,
"created_at": "2025-06-13T21:04:18Z",
"last_comment_at": "2025-07-21T21:08:20Z",
"last_comment_author": "jonathansampson"
},
{
"number": 6,
"created_at": "2025-06-17T14:47:34Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 22,
"created_at": "2025-07-22T19:46:40Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 36,
"created_at": "2025-08-07T21:55:23Z",
"last_comment_at": "2026-06-05T12:22:05Z",
"last_comment_author": "vincentkelleher"
},
{
"number": 76,
"created_at": "2025-09-14T16:25:01Z",
"last_comment_at": "2026-02-28T02:06:08Z",
"last_comment_author": "iwahbe"
},
{
"number": 80,
"created_at": "2025-09-24T16:09:33Z",
"last_comment_at": "2025-12-03T10:24:22Z",
"last_comment_author": "kabuto22-maker"
},
{
"number": 146,
"created_at": "2025-10-21T15:46:01Z",
"last_comment_at": "2025-10-23T16:38:21Z",
"last_comment_author": "jonathansampson"
},
{
"number": 162,
"created_at": "2025-11-11T23:47:22Z",
"last_comment_at": "2026-02-02T09:14:18Z",
"last_comment_author": "niktor76"
},
{
"number": 176,
"created_at": "2025-11-25T12:40:33Z",
"last_comment_at": "2025-12-01T20:35:09Z",
"last_comment_author": "yinebebt"
},
{
"number": 235,
"created_at": "2026-02-19T17:55:16Z",
"last_comment_at": "2026-02-23T12:27:25Z",
"last_comment_author": "mihaiplesa"
},
{
"number": 238,
"created_at": "2026-02-25T10:04:46Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 254,
"created_at": "2026-03-05T09:31:14Z",
"last_comment_at": "2026-04-23T15:59:38Z",
"last_comment_author": "alvaroslm"
},
{
"number": 255,
"created_at": "2026-03-05T12:01:36Z",
"last_comment_at": "2026-03-09T00:37:45Z",
"last_comment_author": "diracdeltas"
},
{
"number": 257,
"created_at": "2026-03-10T04:10:29Z",
"last_comment_at": "2026-03-30T12:50:36Z",
"last_comment_author": "kdenhartog"
},
{
"number": 277,
"created_at": "2026-04-14T14:57:52Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 290,
"created_at": "2026-05-02T18:13:22Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 296,
"created_at": "2026-05-13T06:01:57Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 300,
"created_at": "2026-05-30T22:12:13Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 302,
"created_at": "2026-06-04T10:13:07Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 316,
"created_at": "2026-07-08T16:39:00Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/brave/brave-search-mcp-server",
"host": "github.com",
"name": "brave-search-mcp-server",
"owner": "brave"
},
"metrics": {
"overall": {
"key": "overall",
"band": "good",
"name": "Overall health",
"note": null,
"notes": [],
"value": 72,
"inputs": {
"security": 70,
"vitality": 96,
"community": 68,
"governance": 69,
"engineering": 53
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 96,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 94,
"inputs": {
"commits_last_year": 510,
"human_commit_share": 0.56,
"days_since_last_push": 0,
"active_weeks_last_year": 43
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "43/52 weeks with commits",
"points": 29.8,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 43
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "510 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 510
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"releases_count": 98,
"latest_release_tag": "v2.1.0",
"releases_from_tags": false,
"days_since_latest_release": 5,
"mean_days_between_releases": 9.8
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "98 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 98
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 5 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 5
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~9.8 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 9.8
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 5,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 5 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 5
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 68,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "good",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 74,
"inputs": {
"forks": 185,
"stars": 1322,
"watchers": 8,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "1,322 stars",
"points": 50.6,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 1322
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "185 forks",
"points": 18.9,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 185
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "8 watchers",
"points": 4.7,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 8
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "good",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 82,
"inputs": {
"packages": [
"@brave/brave-search-mcp-server"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 77801
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "77,801 downloads/month across npm",
"points": 65.2,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 77801,
"ecosystems": "npm"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 69,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 43,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 12,
"top_contributor_share": 0.547
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 55% of commits",
"points": 10.2,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 55
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "12 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 12
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 4 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "moderate",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 66,
"inputs": {
"merged_prs": 239,
"open_issues": 21,
"closed_issues": 34,
"issue_closed_ratio": 0.618,
"closed_unmerged_prs": 14
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "62% of issues closed",
"points": 28.9,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 62
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "239/253 decided PRs merged",
"points": 36.1,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 239,
"decided": 253
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 2/14 approved changesets -- score normalized to 1",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"followers": 5386,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "brave",
"public_repos": 253,
"account_age_days": 4095
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "5,386 followers of brave",
"points": 25,
"status": "met",
"details": [
{
"code": "owner_followers",
"params": {
"count": 5386,
"login": "brave"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "253 public repos, account ~11 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 253
}
},
{
"code": "account_age_years",
"params": {
"years": 11
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"@brave/brave-search-mcp-server"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 5
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on npm",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "npm"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 5 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 5
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "91 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 91
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "moderate",
"name": "Engineering Quality",
"value": 53,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 68,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "1 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 1
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "13 out of 13 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "at_risk",
"name": "Documentation",
"note": null,
"notes": [],
"value": 30,
"inputs": {
"topics": [],
"has_wiki": false,
"homepage": null,
"has_readme": true,
"has_docs_dir": false,
"has_description": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "good",
"name": "Security",
"value": 70,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 66,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 6.6
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "13 out of 13 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 2/14 approved changesets -- score normalized to 1",
"points": 0.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 4 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "all dependencies are pinned",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 6.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "7 existing vulnerabilities detected",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Matched the npm:@brave/brave-search-mcp-server@2.1.0 runtime dependency closure — what installing the published package pulls in — 97 packages. Reachability is not analyzed.",
"notes": [
{
"code": "advisories_scope_published",
"params": {
"package": "npm:@brave/brave-search-mcp-server@2.1.0",
"assessed": 97
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 88,
"inputs": {
"source": "osv",
"advisories": 1,
"affected_packages": 1,
"assessed_packages": 97,
"unassessed_packages": 0,
"affected_by_severity": "moderate 1",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "1 affected: @hono/node-server 1.19.14 (moderate 5.9)",
"points": 13.2,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 1,
"packages": "@hono/node-server 1.19.14 (moderate 5.9)"
}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory has been public longer than 90 days",
"points": 40,
"status": "met",
"details": [
{
"code": "advisories_none_stale",
"params": {
"days": 90
}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 97,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 17
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "moderate",
"name": "AI Readiness",
"value": 54,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.821,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "46 of 56 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 46,
"sampled": 56
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 61,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"package-lock.json"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [
"tsconfig.json"
],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0.33
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "tsconfig.json"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Dockerfile, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile, lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "33 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 33,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "all dependencies are pinned",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "TypeScript",
"largest_source_bytes": 31231,
"source_files_sampled": 43,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "TypeScript (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "TypeScript"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/43 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 43,
"oversized": 0
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "critical",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 20,
"inputs": {
"example_dirs": [],
"has_mcp_signal": true,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 20,
"status": "met",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-07-24T05:33:54.258544Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/b/brave/brave-search-mcp-server.svg",
"full_name": "brave/brave-search-mcp-server",
"license_state": "standard",
"license_spdx": "MIT"
}