Atlas / MCP servers / nataliapc / OpenMSX

OpenMSXBLOCK

mcp/nataliapc/openmsx

A Model Context Protocol (MCP) server for automating openMSX emulator instances. This server provides comprehensive tools for MSX software development, testing, and automation through standardized MCP protocols.

Verdict
BLOCK
Grade
D
Trust score
69 /100
Exposed tools
8 8r · 0w · 0d
Transport
stdio · streamable-http
License
GPL-2.0
Stars
73
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

"Orchestrating a binary opera where AI conducts, MCP interprets, and openMSX acts as the 8-bit diva."

[](https://github.com/nataliapc) [](https://github.com/nataliapc/mcp-openmsx/blob/main/LICENSE) [](https://www.npmjs.com/package/@nataliapc/mcp-openmsx?activeTab=versions) []()

A Model Context Protocol (MCP) server for automating openMSX emulator instances.

This server provides comprehensive tools for MSX software development, testing, and automation through standardized MCP protocols.

🎁🎁 If you find this project useful, please consider making a donation by [PAYPAL Link](https://www.paypal.com/donate/?hostedbuttonid=9X268YDDS9SYC) or [GitHub Sponsors](https://github.com/sponsors/nataliapc)

Table of Contents

  • Project overview
  • Architecture
  • Available MCP Tools
  • Available MCP Resources
  • ⚡ Quick Start
  • Quick installation with VSCode
  • Basic installation with Claude Desktop
  • Environment Variables
  • Advanced manual usage
  • Development
  • License
  • Support
  • Contributing
  • 🌟 More stars! 🌟

Project Overview

This project creates a bridge between modern AI-assisted development (e.g. GitHub Copilot, C

Read from source at commit 496c1d60004fOBSERVED · 2026-10-07
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add vectordb_creator -- npx -y vectordb_creator
claude-desktop
{
  "mcpServers": {
    "vectordb_creator": {
      "command": "npx",
      "args": [
        "-y",
        "vectordb_creator"
      ]
    }
  }
}
03

Exposed tools (8)

8 read · 0 write · 0 destructive.

ToolRiskDescription
C-BIOS_MSX2readMSX2 machine
MSX2readMSX2 test machine
Philips_NMS_8250readEuropean MSX2 machine
Philips_VG_8020readEuropean MSX1 machine
debug_logread
msx_musicreadMusic extension
openmsx_tcl_cmdread
video9000readVideo extension
04

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (5 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (18)

HIGHPrompt injection · prompt.zero_width · CWE-94, CWE-1427
mcp-server/resources/programming/asm_develop_a_program_in_cartridge_rom.md:239
If the ROM is 48kB, the C000h-FFFFh page will contain undefined values (usually 0FFh).
Why it matters. invisible characters in instruction text
Fix. strip non-printing characters
HIGHPrompt injection · prompt.zero_width · CWE-94, CWE-1427
mcp-server/resources/programming/asm_develop_a_program_in_cartridge_rom.md:241
If the ROM is 32kB or less, depending on the hardware connections the unused parts will contain undefined values or mirrors as shown below.
Why it matters. invisible characters in instruction text
Fix. strip non-printing characters
MEDIUMInventory / provenance · inv.binary · CWE-1104
mcp-server/vector-db/msxdocs.lance/_indices/f1bb1b0a-5a54-4843-a17d-fb9b75bfb142/metadata.lance
metadata.lance
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInventory / provenance · inv.binary · CWE-1104
mcp-server/vector-db/msxdocs.lance/_indices/f1bb1b0a-5a54-4843-a17d-fb9b75bfb142/part_0_docs.lance
part_0_docs.lance
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInventory / provenance · inv.binary · CWE-1104
mcp-server/vector-db/msxdocs.lance/_indices/f1bb1b0a-5a54-4843-a17d-fb9b75bfb142/part_0_tokens.lance
part_0_tokens.lance
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInventory / provenance · inv.binary · CWE-1104
mcp-server/vector-db/msxdocs.lance/_transactions/3-a5912122-0435-4f83-99d6-8d44c46923d5.txn
3-a5912122-0435-4f83-99d6-8d44c46923d5.txn
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInventory / provenance · inv.binary · CWE-1104
mcp-server/vector-db/msxdocs.lance/_versions/18446744073709551611.manifest
18446744073709551611.manifest
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
LOWInventory / provenance · inv.symlink · CWE-1104
CLAUDE.md
CLAUDE.md
Why it matters. link not followed
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
mcp-server/tests/openmsx/command-queue.test.ts:2
import { OpenMSX } from '../../src/openmsx.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
mcp-server/tests/openmsx/lifecycle.test.ts:2
import { OpenMSX } from '../../src/openmsx.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
mcp-server/tests/openmsx/windows-connector.test.ts:7
import { OpenMsxWindowsConnector } from '../../src/openmsx_windows.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
mcp-server/tests/tools/basic-programming.test.ts:4
vi.mock('../../src/openmsx.js', () => ({
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
mcp-server/tests/tools/basic-programming.test.ts:11
import { openMSXInstance } from '../../src/openmsx.js';
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
mcp-server/package.json
@anush008/tokenizers, @lancedb/lancedb, @modelcontextprotocol/sdk, @types/express, @types/mime-types, debug, express, mime-types
Why it matters. 20 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
vector-db/package.json
@lancedb/lancedb, cheerio, dotenv, fast-glob, gray-matter, remove-markdown, sanitize-html, @types/node
Why it matters. 10 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
.agents/skills/mcp-openmsx-usage/skill-mcp-configuration.md:97
See [Environment Variables](skill-environment-variables.md) for details on configuring environment variables to ensure the MCP server can locate the openMSX executable and share directory, as well as
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
INFOInventory / provenance · inv.oversize · CWE-1104
mcp-server/vector-db/msxdocs.lance/_indices/f1bb1b0a-5a54-4843-a17d-fb9b75bfb142/part_0_invert.lance
mcp-server/vector-db/msxdocs.lance/_indices/f1bb1b0a-5a54-4843-a17d-fb9b75bfb142/part_0_invert.lance
Why it matters. 1350307 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
mcp-server/vector-db/msxdocs.lance/data/0010100111011001101100111eeae94f8e94891ef058143a49.lance
mcp-server/vector-db/msxdocs.lance/data/0010100111011001101100111eeae94f8e94891ef058143a49.lance
Why it matters. 8274482 bytes not read

Gates applied: no_behavioural_pass.

Audited 2026-10-07 · audit v0.4.1 · source sha 496c1d60004ffull audit observations/trust-audit/mcp-server/nataliapc__openmsx.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-07496c1d60004fBLOCKD69first audit
06

Questions

What is the OpenMSX MCP server?

A Model Context Protocol (MCP) server for automating openMSX emulator instances. This server provides comprehensive tools for MSX software development, testing, and automation through standardized MCP protocols.

What tools does OpenMSX expose?

8 in total: 8 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is OpenMSX safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (69/100) and found 2 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What credentials does OpenMSX need?

No credential environment variables were found in its source, so it appears to need none.

How does OpenMSX run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as vectordb_creator.

How current is this page?

The grade is for one exact copy of the source (496c1d60004f), read on 2026-10-07. The repository is watched and re-audited when it changes.

Advertisement