@cyanheads/protein-mcp-server 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/AGENTS.md +416 -0
  2. package/CLAUDE.md +416 -0
  3. package/Dockerfile +121 -0
  4. package/LICENSE +201 -0
  5. package/README.md +321 -0
  6. package/changelog/0.1.x/0.1.0.md +21 -0
  7. package/changelog/template.md +127 -0
  8. package/dist/config/server-config.d.ts +27 -0
  9. package/dist/config/server-config.d.ts.map +1 -0
  10. package/dist/config/server-config.js +110 -0
  11. package/dist/config/server-config.js.map +1 -0
  12. package/dist/index.d.ts +9 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +53 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/mcp-server/resources/definitions/af-summary.resource.d.ts +29 -0
  17. package/dist/mcp-server/resources/definitions/af-summary.resource.d.ts.map +1 -0
  18. package/dist/mcp-server/resources/definitions/af-summary.resource.js +61 -0
  19. package/dist/mcp-server/resources/definitions/af-summary.resource.js.map +1 -0
  20. package/dist/mcp-server/resources/definitions/index.d.ts +7 -0
  21. package/dist/mcp-server/resources/definitions/index.d.ts.map +1 -0
  22. package/dist/mcp-server/resources/definitions/index.js +7 -0
  23. package/dist/mcp-server/resources/definitions/index.js.map +1 -0
  24. package/dist/mcp-server/resources/definitions/pdb-summary.resource.d.ts +31 -0
  25. package/dist/mcp-server/resources/definitions/pdb-summary.resource.d.ts.map +1 -0
  26. package/dist/mcp-server/resources/definitions/pdb-summary.resource.js +68 -0
  27. package/dist/mcp-server/resources/definitions/pdb-summary.resource.js.map +1 -0
  28. package/dist/mcp-server/tools/definitions/_schemas.d.ts +31 -0
  29. package/dist/mcp-server/tools/definitions/_schemas.d.ts.map +1 -0
  30. package/dist/mcp-server/tools/definitions/_schemas.js +82 -0
  31. package/dist/mcp-server/tools/definitions/_schemas.js.map +1 -0
  32. package/dist/mcp-server/tools/definitions/analyze-collection.tool.d.ts +61 -0
  33. package/dist/mcp-server/tools/definitions/analyze-collection.tool.d.ts.map +1 -0
  34. package/dist/mcp-server/tools/definitions/analyze-collection.tool.js +115 -0
  35. package/dist/mcp-server/tools/definitions/analyze-collection.tool.js.map +1 -0
  36. package/dist/mcp-server/tools/definitions/compare-structures.tool.d.ts +49 -0
  37. package/dist/mcp-server/tools/definitions/compare-structures.tool.d.ts.map +1 -0
  38. package/dist/mcp-server/tools/definitions/compare-structures.tool.js +168 -0
  39. package/dist/mcp-server/tools/definitions/compare-structures.tool.js.map +1 -0
  40. package/dist/mcp-server/tools/definitions/find-similar.tool.d.ts +67 -0
  41. package/dist/mcp-server/tools/definitions/find-similar.tool.d.ts.map +1 -0
  42. package/dist/mcp-server/tools/definitions/find-similar.tool.js +274 -0
  43. package/dist/mcp-server/tools/definitions/find-similar.tool.js.map +1 -0
  44. package/dist/mcp-server/tools/definitions/get-annotations.tool.d.ts +58 -0
  45. package/dist/mcp-server/tools/definitions/get-annotations.tool.d.ts.map +1 -0
  46. package/dist/mcp-server/tools/definitions/get-annotations.tool.js +180 -0
  47. package/dist/mcp-server/tools/definitions/get-annotations.tool.js.map +1 -0
  48. package/dist/mcp-server/tools/definitions/get-structure.tool.d.ts +78 -0
  49. package/dist/mcp-server/tools/definitions/get-structure.tool.d.ts.map +1 -0
  50. package/dist/mcp-server/tools/definitions/get-structure.tool.js +365 -0
  51. package/dist/mcp-server/tools/definitions/get-structure.tool.js.map +1 -0
  52. package/dist/mcp-server/tools/definitions/index.d.ts +12 -0
  53. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -0
  54. package/dist/mcp-server/tools/definitions/index.js +12 -0
  55. package/dist/mcp-server/tools/definitions/index.js.map +1 -0
  56. package/dist/mcp-server/tools/definitions/search-structures.tool.d.ts +71 -0
  57. package/dist/mcp-server/tools/definitions/search-structures.tool.d.ts.map +1 -0
  58. package/dist/mcp-server/tools/definitions/search-structures.tool.js +216 -0
  59. package/dist/mcp-server/tools/definitions/search-structures.tool.js.map +1 -0
  60. package/dist/mcp-server/tools/definitions/track-ligands.tool.d.ts +59 -0
  61. package/dist/mcp-server/tools/definitions/track-ligands.tool.d.ts.map +1 -0
  62. package/dist/mcp-server/tools/definitions/track-ligands.tool.js +195 -0
  63. package/dist/mcp-server/tools/definitions/track-ligands.tool.js.map +1 -0
  64. package/dist/services/alignment/alignment-service.d.ts +56 -0
  65. package/dist/services/alignment/alignment-service.d.ts.map +1 -0
  66. package/dist/services/alignment/alignment-service.js +129 -0
  67. package/dist/services/alignment/alignment-service.js.map +1 -0
  68. package/dist/services/alphafold/alphafold-service.d.ts +57 -0
  69. package/dist/services/alphafold/alphafold-service.d.ts.map +1 -0
  70. package/dist/services/alphafold/alphafold-service.js +84 -0
  71. package/dist/services/alphafold/alphafold-service.js.map +1 -0
  72. package/dist/services/beacons/beacons-service.d.ts +52 -0
  73. package/dist/services/beacons/beacons-service.d.ts.map +1 -0
  74. package/dist/services/beacons/beacons-service.js +63 -0
  75. package/dist/services/beacons/beacons-service.js.map +1 -0
  76. package/dist/services/foldseek/foldseek-service.d.ts +71 -0
  77. package/dist/services/foldseek/foldseek-service.d.ts.map +1 -0
  78. package/dist/services/foldseek/foldseek-service.js +131 -0
  79. package/dist/services/foldseek/foldseek-service.js.map +1 -0
  80. package/dist/services/rcsb/facets.d.ts +50 -0
  81. package/dist/services/rcsb/facets.d.ts.map +1 -0
  82. package/dist/services/rcsb/facets.js +59 -0
  83. package/dist/services/rcsb/facets.js.map +1 -0
  84. package/dist/services/rcsb/rcsb-service.d.ts +81 -0
  85. package/dist/services/rcsb/rcsb-service.d.ts.map +1 -0
  86. package/dist/services/rcsb/rcsb-service.js +473 -0
  87. package/dist/services/rcsb/rcsb-service.js.map +1 -0
  88. package/dist/services/rcsb/types.d.ts +150 -0
  89. package/dist/services/rcsb/types.d.ts.map +1 -0
  90. package/dist/services/rcsb/types.js +8 -0
  91. package/dist/services/rcsb/types.js.map +1 -0
  92. package/dist/services/shared/async.d.ts +41 -0
  93. package/dist/services/shared/async.d.ts.map +1 -0
  94. package/dist/services/shared/async.js +64 -0
  95. package/dist/services/shared/async.js.map +1 -0
  96. package/dist/services/shared/http.d.ts +54 -0
  97. package/dist/services/shared/http.d.ts.map +1 -0
  98. package/dist/services/shared/http.js +115 -0
  99. package/dist/services/shared/http.js.map +1 -0
  100. package/dist/services/shared/identifiers.d.ts +12 -0
  101. package/dist/services/shared/identifiers.d.ts.map +1 -0
  102. package/dist/services/shared/identifiers.js +23 -0
  103. package/dist/services/shared/identifiers.js.map +1 -0
  104. package/dist/services/uniprot/uniprot-service.d.ts +65 -0
  105. package/dist/services/uniprot/uniprot-service.d.ts.map +1 -0
  106. package/dist/services/uniprot/uniprot-service.js +146 -0
  107. package/dist/services/uniprot/uniprot-service.js.map +1 -0
  108. package/package.json +106 -0
  109. package/server.json +99 -0
package/package.json ADDED
@@ -0,0 +1,106 @@
1
+ {
2
+ "name": "@cyanheads/protein-mcp-server",
3
+ "version": "0.1.0",
4
+ "mcpName": "io.github.cyanheads/protein-mcp-server",
5
+ "description": "Federated protein structure & function across experimental (PDB) and predicted (AlphaFold) models.",
6
+ "type": "module",
7
+ "main": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "bin": {
10
+ "protein-mcp-server": "dist/index.js"
11
+ },
12
+ "files": [
13
+ "changelog/",
14
+ "dist/",
15
+ "README.md",
16
+ "LICENSE",
17
+ "CLAUDE.md",
18
+ "AGENTS.md",
19
+ "Dockerfile",
20
+ "server.json"
21
+ ],
22
+ "scripts": {
23
+ "build": "bun run scripts/build.ts",
24
+ "rebuild": "bun run scripts/clean.ts && bun run scripts/build.ts",
25
+ "clean": "bun run scripts/clean.ts",
26
+ "devcheck": "bun run scripts/devcheck.ts",
27
+ "audit:refresh": "rm -f bun.lock && bun install && bun audit",
28
+ "tree": "bun run scripts/tree.ts",
29
+ "list-skills": "bun run scripts/list-skills.ts",
30
+ "format": "biome check --write .",
31
+ "format:unsafe": "biome check --write --unsafe .",
32
+ "lint:mcp": "bun run scripts/lint-mcp.ts",
33
+ "lint:packaging": "bun run scripts/lint-packaging.ts",
34
+ "bundle": "bun run build && npx -y @anthropic-ai/mcpb pack . dist/protein-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/protein-mcp-server.mcpb",
35
+ "changelog:build": "bun run scripts/build-changelog.ts",
36
+ "changelog:check": "bun run scripts/build-changelog.ts --check",
37
+ "release:github": "bun run scripts/release-github.ts",
38
+ "test": "vitest run",
39
+ "start": "node dist/index.js",
40
+ "start:stdio": "MCP_TRANSPORT_TYPE=stdio node dist/index.js",
41
+ "start:http": "MCP_TRANSPORT_TYPE=http node dist/index.js"
42
+ },
43
+ "keywords": [
44
+ "protein",
45
+ "protein-structure",
46
+ "structural-biology",
47
+ "pdb",
48
+ "alphafold",
49
+ "uniprot",
50
+ "interpro",
51
+ "foldseek",
52
+ "rcsb",
53
+ "bioinformatics",
54
+ "drug-discovery",
55
+ "mcp",
56
+ "mcp-server",
57
+ "model-context-protocol",
58
+ "typescript",
59
+ "bun",
60
+ "stdio",
61
+ "streamable-http",
62
+ "ai-agent"
63
+ ],
64
+ "repository": {
65
+ "type": "git",
66
+ "url": "git+https://github.com/cyanheads/protein-mcp-server.git"
67
+ },
68
+ "bugs": {
69
+ "url": "https://github.com/cyanheads/protein-mcp-server/issues"
70
+ },
71
+ "homepage": "https://github.com/cyanheads/protein-mcp-server#readme",
72
+ "author": "cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/protein-mcp-server#readme)",
73
+ "funding": [
74
+ {
75
+ "type": "github",
76
+ "url": "https://github.com/sponsors/cyanheads"
77
+ },
78
+ {
79
+ "type": "buy_me_a_coffee",
80
+ "url": "https://www.buymeacoffee.com/cyanheads"
81
+ }
82
+ ],
83
+ "license": "Apache-2.0",
84
+ "packageManager": "bun@1.3.2",
85
+ "engines": {
86
+ "bun": ">=1.3.0",
87
+ "node": ">=24.0.0"
88
+ },
89
+ "publishConfig": {
90
+ "access": "public"
91
+ },
92
+ "dependencies": {
93
+ "@cyanheads/mcp-ts-core": "^0.10.6",
94
+ "pino-pretty": "^13.1.3",
95
+ "zod": "^4.4.3"
96
+ },
97
+ "devDependencies": {
98
+ "@biomejs/biome": "2.5.0",
99
+ "@types/node": "25.9.3",
100
+ "depcheck": "^1.4.7",
101
+ "ignore": "^7.0.5",
102
+ "tsc-alias": "^1.8.17",
103
+ "typescript": "^6.0.3",
104
+ "vitest": "^4.1.9"
105
+ }
106
+ }
package/server.json ADDED
@@ -0,0 +1,99 @@
1
+ {
2
+ "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
+ "name": "io.github.cyanheads/protein-mcp-server",
4
+ "description": "Federated protein structure & function across experimental (PDB) and predicted (AlphaFold) models.",
5
+ "repository": {
6
+ "url": "https://github.com/cyanheads/protein-mcp-server",
7
+ "source": "github"
8
+ },
9
+ "version": "0.1.0",
10
+ "packages": [
11
+ {
12
+ "registryType": "npm",
13
+ "registryBaseUrl": "https://registry.npmjs.org",
14
+ "identifier": "@cyanheads/protein-mcp-server",
15
+ "runtimeHint": "node",
16
+ "version": "0.1.0",
17
+ "packageArguments": [
18
+ {
19
+ "type": "positional",
20
+ "value": "run"
21
+ },
22
+ {
23
+ "type": "positional",
24
+ "value": "start:stdio"
25
+ }
26
+ ],
27
+ "environmentVariables": [
28
+ {
29
+ "name": "MCP_LOG_LEVEL",
30
+ "description": "Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').",
31
+ "format": "string",
32
+ "isRequired": false,
33
+ "default": "info"
34
+ }
35
+ ],
36
+ "transport": {
37
+ "type": "stdio"
38
+ }
39
+ },
40
+ {
41
+ "registryType": "npm",
42
+ "registryBaseUrl": "https://registry.npmjs.org",
43
+ "identifier": "@cyanheads/protein-mcp-server",
44
+ "runtimeHint": "node",
45
+ "version": "0.1.0",
46
+ "packageArguments": [
47
+ {
48
+ "type": "positional",
49
+ "value": "run"
50
+ },
51
+ {
52
+ "type": "positional",
53
+ "value": "start:http"
54
+ }
55
+ ],
56
+ "environmentVariables": [
57
+ {
58
+ "name": "MCP_HTTP_HOST",
59
+ "description": "The hostname for the HTTP server.",
60
+ "format": "string",
61
+ "isRequired": false,
62
+ "default": "127.0.0.1"
63
+ },
64
+ {
65
+ "name": "MCP_HTTP_PORT",
66
+ "description": "The port to run the HTTP server on.",
67
+ "format": "string",
68
+ "isRequired": false,
69
+ "default": "3010"
70
+ },
71
+ {
72
+ "name": "MCP_HTTP_ENDPOINT_PATH",
73
+ "description": "The endpoint path for the MCP server.",
74
+ "format": "string",
75
+ "isRequired": false,
76
+ "default": "/mcp"
77
+ },
78
+ {
79
+ "name": "MCP_AUTH_MODE",
80
+ "description": "Authentication mode to use: 'none', 'jwt', or 'oauth'.",
81
+ "format": "string",
82
+ "isRequired": false,
83
+ "default": "none"
84
+ },
85
+ {
86
+ "name": "MCP_LOG_LEVEL",
87
+ "description": "Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').",
88
+ "format": "string",
89
+ "isRequired": false,
90
+ "default": "info"
91
+ }
92
+ ],
93
+ "transport": {
94
+ "type": "streamable-http",
95
+ "url": "http://localhost:3010/mcp"
96
+ }
97
+ }
98
+ ]
99
+ }