Metadata-Version: 2.4
Name: beebjit-mcp
Version: 0.1.0
Summary: Pure-Python MCP server exposing the beebjit BBC Micro emulator to MCP-speaking clients over stdio JSON-RPC
Author: acscpt
License: MIT
Project-URL: Repository, https://github.com/acscpt/beebjit-mcp
Project-URL: Issues, https://github.com/acscpt/beebjit-mcp/issues
Keywords: bbc-micro,acorn,beebjit,emulator,mcp,model-context-protocol,retro,8bit,llm,ai-tools
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: System :: Emulators
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: mcp==1.27.0
Provides-Extra: dev
Requires-Dist: pytest>=7; extra == "dev"
Requires-Dist: pytest-cov>=4; extra == "dev"
Dynamic: license-file

# beebjit-MCP

[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![Tests](https://github.com/acscpt/beebjit-mcp/actions/workflows/tests.yml/badge.svg)](https://github.com/acscpt/beebjit-mcp/actions/workflows/tests.yml)
[![codecov](https://codecov.io/gh/acscpt/beebjit-mcp/branch/master/graph/badge.svg)](https://codecov.io/gh/acscpt/beebjit-mcp)

beebjit-MCP is a Python-based [Model Context Protocol (MCP)](https://modelcontextprotocol.io/docs/getting-started/intro) server that lets an AI application instantiate, connect to, drive, capture output from, and interrogate a real [BBC Micro](https://en.wikipedia.org/wiki/BBC_Micro) emulator.

Ask an AI agent something like:

> Boot a BBC Model B, then type `PRINT "HELLO"` at the BASIC prompt, and read the screen back.

A couple of seconds later `HELLO` appears in the tool-result pane. That's it.

beebjit-MCP drives [Chris Evans' beebjit](https://github.com/scarybeasts/beebjit), a cycle-accurate, high-performance BBC Micro emulator written in C. Install and configure beebjit before using beebjit-MCP. The [installation guide](docs/installation.md) walks through it.

## What the AI agent can do with it

- Boot a BBC B, Master 128 (MOS 3.20 or 3.50), or Master Compact session, with or without a disc image. DFS images use `.ssd` / `.dsd`; ADFS images use `.adl` / `.adf`.

- Type ASCII into the keyboard and have it land as real BBC keypresses. SHIFT handling, CAPS LOCK control, and special keys like arrows and function keys are all wired.

- Wait for text to appear on the MODE 7 screen, or for the BASIC `>` prompt.

- Read or write BBC Micro RAM, read 6502 register state, and disassemble 6502 instructions.

- Run a whole BBC BASIC program one-shot and capture the final screen.

- Tear everything down cleanly when the client disconnects.

## Licence

MIT. See [LICENSE](LICENSE).

beebjit is GPLv3 and is never bundled in this repository or its release artefacts; the user installs beebjit themselves.

## Acknowledgements

Thanks to **Chris Evans** (<scarybeasts@gmail.com>), creator and maintainer of [beebjit](https://github.com/scarybeasts/beebjit). Without his work, none of this would exist.

## Fork Notice

beebjit-MCP currently depends on a [fork of beebjit](https://github.com/acscpt/beebjit) that carries the small set of fixes and flags it needs. See [installation](docs/installation.md#install-beebjit) for the exact list.

## Disclaimer

beebjit-MCP is a separate project from [beebjit](https://github.com/scarybeasts/beebjit), and is not affiliated with, sponsored, or endorsed by [Chris Evans](mailto:scarybeasts@gmail.com) or the beebjit project.

For the canonical beebjit source and documentation, see [scarybeasts/beebjit](https://github.com/scarybeasts/beebjit).
