MCP Server

Point any MCP client at the Picoware repository to read app-creation context, files, and directories served directly from the Picoware project.

Overview

Connect your MCP client to:

https://www.jblanked.com/mcp/

Requests are served over Streamable HTTP from this website. Unlike the News API MCP, these repository tools read files directly and do not require an API key.

Connecting

Point any MCP client that supports remote Streamable HTTP at the endpoint. Example client configuration:

{
  "mcpServers": {
    "picoware": {
      "url": "https://www.jblanked.com/mcp/"
    }
  }
}

Installing

Add this server to Claude Code, Cursor, Codex, and more with a single command.

Install the Picoware MCP server into a supported client using add-mcp:

npx add-mcp 'https://www.jblanked.com/mcp'

This interactive command detects your client (Claude Code, Cursor, Codex, and other add-mcp-compatible tools) and writes the correct configuration automatically — no manual editing required.

Available Tools

ToolDescription
picoware_get_app_context Returns the Picoware app-creation context builds/MicroPython/assets/agent/app_creator_context.md so an assistant knows how to build a Picoware app.
picoware_get_file_contents Reads the contents of a Picoware repository file by its logical path.
picoware_get_directory_contents Lists the files in a Picoware repository directory.

Python Example

Read the Picoware app-creation context with the official MCP Python client (pip install mcp).

import json
import sys

from mcp import ClientSession
from mcp.client.streamable_http import streamable_http_client

MCP_URL = "https://www.jblanked.com/mcp/"


async def main():
    async with streamable_http_client(MCP_URL) as (
        read_stream,
        write_stream,
    ):
        async with ClientSession(read_stream, write_stream) as session:
            await session.initialize()
            print("MCP ready. Fetching Picoware app-creation context...")
            result = await session.call_tool(
                "picoware_get_app_context", arguments={}
            )
            print(result.content)


import asyncio
asyncio.run(main())
Support