Pure-Python MCP server exposing the beebjit BBC Micro emulator to MCP-speaking clients over stdio JSON-RPC
Project description
beebjit-MCP
beebjit-MCP is a Python-based Model Context Protocol (MCP) server that lets an AI application instantiate, connect to, drive, capture output from, and interrogate a real 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, a cycle-accurate, high-performance BBC Micro emulator written in C. Install and configure beebjit before using beebjit-MCP. The installation guide 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.
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. Without his work, none of this would exist.
Fork Notice
beebjit-MCP currently depends on a fork of beebjit that carries the small set of fixes and flags it needs. See installation for the exact list.
Disclaimer
beebjit-MCP is a separate project from beebjit, and is not affiliated with, sponsored, or endorsed by Chris Evans or the beebjit project.
For the canonical beebjit source and documentation, see scarybeasts/beebjit.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file beebjit_mcp-0.1.0.tar.gz.
File metadata
- Download URL: beebjit_mcp-0.1.0.tar.gz
- Upload date:
- Size: 59.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ed6a4f7009e5c879a9fd8b0088e5a1e597a5d6a7edb769bc5a213110a424a1f
|
|
| MD5 |
f73285a48fbca9a2f4cba504f98d803f
|
|
| BLAKE2b-256 |
36ffc575922f1c7e89d2f10e9001b13996c34df9d07ee54cc95c6ab85d0f6684
|
Provenance
The following attestation bundles were made for beebjit_mcp-0.1.0.tar.gz:
Publisher:
publish.yml on acscpt/beebjit-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
beebjit_mcp-0.1.0.tar.gz -
Subject digest:
4ed6a4f7009e5c879a9fd8b0088e5a1e597a5d6a7edb769bc5a213110a424a1f - Sigstore transparency entry: 1560503717
- Sigstore integration time:
-
Permalink:
acscpt/beebjit-mcp@95608eb5c6c89a343df0f3215ac5c8a62e96cf7d -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/acscpt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@95608eb5c6c89a343df0f3215ac5c8a62e96cf7d -
Trigger Event:
push
-
Statement type:
File details
Details for the file beebjit_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: beebjit_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 39.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b35302537a7f708f8f4d6da20f0dc969c5145b084a3bba8b265fdc9c2ac91f6
|
|
| MD5 |
d95085c1509045cafe3187dc6b60f90c
|
|
| BLAKE2b-256 |
cf9cb6c9916b1803d5960cf7dd1fca58c2199e7c18ba50a03d7f4bed926af41e
|
Provenance
The following attestation bundles were made for beebjit_mcp-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on acscpt/beebjit-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
beebjit_mcp-0.1.0-py3-none-any.whl -
Subject digest:
4b35302537a7f708f8f4d6da20f0dc969c5145b084a3bba8b265fdc9c2ac91f6 - Sigstore transparency entry: 1560503989
- Sigstore integration time:
-
Permalink:
acscpt/beebjit-mcp@95608eb5c6c89a343df0f3215ac5c8a62e96cf7d -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/acscpt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@95608eb5c6c89a343df0f3215ac5c8a62e96cf7d -
Trigger Event:
push
-
Statement type: