github JavaScript analyzed 894d55b

pykeko/PyKekoMCP

github

MCP server to drive a running PyKeko desktop app with Claude

maintainer
pykeko
license
MIT
first seen
2026-06-14
last seen
2026-07-12
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 40 tools
transport stdio counts 40 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • moorhen_add_terminal_residue
  • moorhen_add_waters
  • moorhen_auto_fit_rotamer
  • moorhen_cwd_stack
  • moorhen_declare_covalent_link
  • moorhen_delete
  • moorhen_delete_selection
  • moorhen_eval
  • moorhen_evaluate_selection
  • moorhen_flip_peptide
  • moorhen_get_cell_info
  • moorhen_get_cwd
  • moorhen_get_session_blob
  • moorhen_get_state
  • moorhen_go_to_residue
  • moorhen_hide_cell
  • moorhen_hide_interactions
  • moorhen_hide_symmetry
  • moorhen_list_selections
  • moorhen_load_coordinates
  • moorhen_load_map
  • moorhen_pick_mtz_file
  • moorhen_redo
  • moorhen_refine
  • moorhen_round_trip_session
  • moorhen_run_dimple
  • moorhen_run_find_ligand
  • moorhen_run_js
  • moorhen_run_pymol
  • moorhen_run_refmacat
  • moorhen_run_shell
  • moorhen_screenshot
  • moorhen_set_active_map
  • moorhen_set_cwd
  • moorhen_set_env
  • moorhen_set_selection
  • moorhen_show_cell
  • moorhen_show_interactions
  • moorhen_show_symmetry
  • moorhen_undo
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 894d55b · analyzer v33 · 2w ago

skills & prompt files 1

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 2

filesystem 2

  • fs pykeko-PyKekoMCP-894d55b/src/server.ts :14 import fs from "node:fs";
  • fs (weak) pykeko-PyKekoMCP-894d55b/test-client.mjs :4 import fs from "node:fs";

network 1

  • net pykeko-PyKekoMCP-894d55b/src/server.ts :37 r = await fetch(`http://127.0.0.1:${cfg.port}/`, {

tool registrations 40

  • moorhen_get_state pykeko-PyKekoMCP-894d55b/src/server.ts :56
  • moorhen_load_coordinates pykeko-PyKekoMCP-894d55b/src/server.ts :58
  • moorhen_load_map pykeko-PyKekoMCP-894d55b/src/server.ts :84
  • moorhen_go_to_residue pykeko-PyKekoMCP-894d55b/src/server.ts :104
  • moorhen_refine pykeko-PyKekoMCP-894d55b/src/server.ts :106
  • moorhen_auto_fit_rotamer pykeko-PyKekoMCP-894d55b/src/server.ts :113
  • moorhen_flip_peptide pykeko-PyKekoMCP-894d55b/src/server.ts :115
  • moorhen_add_terminal_residue pykeko-PyKekoMCP-894d55b/src/server.ts :117
  • moorhen_add_waters pykeko-PyKekoMCP-894d55b/src/server.ts :119
  • moorhen_delete pykeko-PyKekoMCP-894d55b/src/server.ts :121
  • moorhen_set_active_map pykeko-PyKekoMCP-894d55b/src/server.ts :123
  • moorhen_undo pykeko-PyKekoMCP-894d55b/src/server.ts :125
  • moorhen_redo pykeko-PyKekoMCP-894d55b/src/server.ts :126
  • moorhen_screenshot pykeko-PyKekoMCP-894d55b/src/server.ts :128
  • moorhen_run_dimple pykeko-PyKekoMCP-894d55b/src/server.ts :133
  • moorhen_eval pykeko-PyKekoMCP-894d55b/src/server.ts :160
  • moorhen_set_cwd pykeko-PyKekoMCP-894d55b/src/server.ts :177
  • moorhen_get_cwd pykeko-PyKekoMCP-894d55b/src/server.ts :188
  • moorhen_declare_covalent_link pykeko-PyKekoMCP-894d55b/src/server.ts :195
  • moorhen_run_pymol pykeko-PyKekoMCP-894d55b/src/server.ts :215
  • moorhen_run_js pykeko-PyKekoMCP-894d55b/src/server.ts :222
  • moorhen_evaluate_selection pykeko-PyKekoMCP-894d55b/src/server.ts :233
  • moorhen_set_selection pykeko-PyKekoMCP-894d55b/src/server.ts :243
  • moorhen_delete_selection pykeko-PyKekoMCP-894d55b/src/server.ts :254
  • moorhen_list_selections pykeko-PyKekoMCP-894d55b/src/server.ts :261
  • moorhen_show_interactions pykeko-PyKekoMCP-894d55b/src/server.ts :268
  • moorhen_hide_interactions pykeko-PyKekoMCP-894d55b/src/server.ts :278
  • moorhen_show_cell pykeko-PyKekoMCP-894d55b/src/server.ts :285
  • moorhen_hide_cell pykeko-PyKekoMCP-894d55b/src/server.ts :292
  • moorhen_show_symmetry pykeko-PyKekoMCP-894d55b/src/server.ts :299
  • moorhen_hide_symmetry pykeko-PyKekoMCP-894d55b/src/server.ts :309
  • moorhen_get_cell_info pykeko-PyKekoMCP-894d55b/src/server.ts :316
  • moorhen_get_session_blob pykeko-PyKekoMCP-894d55b/src/server.ts :323
  • moorhen_round_trip_session pykeko-PyKekoMCP-894d55b/src/server.ts :330
  • moorhen_run_refmacat pykeko-PyKekoMCP-894d55b/src/server.ts :337
  • moorhen_run_find_ligand pykeko-PyKekoMCP-894d55b/src/server.ts :351
  • moorhen_pick_mtz_file pykeko-PyKekoMCP-894d55b/src/server.ts :364
  • moorhen_run_shell pykeko-PyKekoMCP-894d55b/src/server.ts :371
  • moorhen_set_env pykeko-PyKekoMCP-894d55b/src/server.ts :378
  • moorhen_cwd_stack pykeko-PyKekoMCP-894d55b/src/server.ts :388

declared dependencies 4

  • @modelcontextprotocol/sdk@^1.12.0
  • zod@^3.23.8
  • typescript@^5.5.4
  • @types/node@^20.14.0