# Redline Developers > Developer resources for the Redline UDS Evidence API, WinOLS MCP, and Ghidra MCP. Website: https://api.redlineautohaus.com/ Documentation: https://api.redlineautohaus.com/docs/ ## UDS Evidence API The API stores diagnostic evidence with source provenance, exact bytes, partial captures, unknown context, and separate interpretations. It does not connect to vehicles or execute diagnostic commands. Public documentation does not grant access to private datasets. API access requires a Redline-issued scoped credential. - [Overview](https://api.redlineautohaus.com/docs/uds/): Product scope, authentication, ingestion, and evidence representations. - [Quickstart](https://api.redlineautohaus.com/docs/uds/quickstart.md): Register sources and sessions, ingest synthetic evidence, and verify read-back. - [OpenAPI](https://api.redlineautohaus.com/docs/uds/openapi.json): Authoritative generated API contract. Use this for operation paths and request and response shapes. - [JSON Schemas](https://api.redlineautohaus.com/docs/uds/schemas/): Resource and request validation schemas. - [AI client guide](https://api.redlineautohaus.com/docs/uds/ai-guide.md): Required evidence semantics, no-inference rules, permissions, and retry behavior. - [Evidence semantics](https://api.redlineautohaus.com/docs/uds/evidence.md): Bytes, segments, timestamps, source provenance, and interpretations. - [Examples](https://api.redlineautohaus.com/docs/uds/examples/): Runnable curl and Node.js clients with synthetic fixtures. - [Errors](https://api.redlineautohaus.com/docs/uds/errors.md): Validation failures, conflicts, preconditions, and bounded retries. - [Changelog](https://api.redlineautohaus.com/docs/uds/changelog.md): Contract versions and compatibility notes. API base: https://api.redlineautohaus.com/api/v1/uds Read authenticated GET /capabilities for effective limits and available features. Raw byte read-back additionally requires uds:sensitive-read. Preserve missing data as unknown and keep AI interpretations separate from observed evidence. ## WinOLS MCP A local Rust MCP server using stdio, with a Lua bridge for WinOLS and an in-memory mock backend. Tools inspect connection status, project identity, existing maps, and original/current firmware bytes; validate definitions; and create map metadata. It does not discover maps automatically, change firmware bytes, save projects, or flash ECUs. - [Overview and setup](https://api.redlineautohaus.com/docs/winols-mcp/): Product capabilities, source build, mock workflow, live setup, and support status. - [Markdown guide](https://api.redlineautohaus.com/docs/winols-mcp/guide.md): Machine-readable setup and tool documentation. - [Source repository](https://github.com/amirdauti/redline-autohaus-winols-mcp): Source, bridge, examples, and contribution instructions. - [MIT license](https://github.com/amirdauti/redline-autohaus-winols-mcp/blob/main/LICENSE): License for the MCP project. - [Lua bridge setup](https://github.com/amirdauti/redline-autohaus-winols-mcp/blob/main/bridge/README.md): Export columns, mailbox configuration, and live acceptance checks. The MIT-licensed MCP project is free to use. Live use requires Windows, a separately licensed WinOLS 5.93 or later installation in the WinOLS 5 series and EVC's separately purchased OLS530 Lua plugin. Limited live checks on WinOLS 5.93.01 with OLS530 3.006 verified two map creations, property readback, inventory, and original/current byte reads; full acceptance remains pending. Mock mode works without WinOLS and resets when the server exits. Read the active project identity, validate a proposed definition, create it using expected_project_id, then read it back. Follow the bridge guide for stopping, inspecting, saving, and recovering after uncertain outcomes. ## Ghidra MCP A local Rust MCP server using stdio and a Java adapter for Ghidra. It exposes 85 typed tools, with 84 supported headlessly: explicit language/compiler selection, project workflows, current-memory hashes, raw and high P-code, call/control-flow graphs, bounded SSA tracing, typed variables/signatures/structures, batch annotations, saved-program comparisons, candidate fingerprints, isolated emulation, and explicit saving. The headless bridge and GUI extension have different capabilities; call ghidra_status first. This is not a hosted MCP endpoint or an automatic ECU map identifier. - [Overview and setup](https://api.redlineautohaus.com/docs/ghidra-mcp/): Build requirements, local bridge setup, modes, and analysis workflow. - [Markdown guide](https://api.redlineautohaus.com/docs/ghidra-mcp/guide.md): Machine-readable setup, tools, address mapping, saves, and recovery. - [Source repository](https://github.com/amirdauti/redline-autohaus-ghidra-mcp): Rust server, Java adapter, GUI extension, and synthetic examples. - [Native acceptance](https://github.com/amirdauti/redline-autohaus-ghidra-mcp/blob/main/docs/live-acceptance.md): Tested environment and limits of the synthetic native workflows. - [Research tool contract](https://github.com/amirdauti/redline-autohaus-ghidra-mcp/blob/main/docs/research-tools.md) - [Flow tool contract](https://github.com/amirdauti/redline-autohaus-ghidra-mcp/blob/main/docs/flow-tools.md) - [Type tool contract](https://github.com/amirdauti/redline-autohaus-ghidra-mcp/blob/main/docs/type-tools.md) - [Utility tool contract](https://github.com/amirdauti/redline-autohaus-ghidra-mcp/blob/main/docs/utility-tools.md) - [Headless coverage](https://github.com/amirdauti/redline-autohaus-ghidra-mcp/blob/main/docs/headless-tools.md): 85 discoverable tools and 84 headless operations. - [Recovery](https://github.com/amirdauti/redline-autohaus-ghidra-mcp/blob/main/docs/recovery.md): Reconcile uncertain operations before reconnecting or retrying. Graphs use existing references; SSA tracing is intraprocedural and stops at memory/call boundaries. Similarity is candidate evidence, not semantic equivalence. The emulator requires explicit inputs, declared outputs and a stop instruction; it never commits program writes and provides no ECU/peripheral model or live debugger. Arbitrary scripts, firmware patching and flashing remain unsupported. Native acceptance used Windows, Ghidra 12.1.3 PUBLIC, and JDK 21. Obtain fresh runtime project/program identities; they are not firmware hashes. Choose the language/compiler explicitly for raw inputs. The current raw importer requires one contiguous block and does not construct an ECU memory map or flash aliases. Language presets that add multiple default blocks can be rejected. Check the guide before importing firmware with a complex layout. Before relating Ghidra analysis to WinOLS, verify source hashes and current bytes, resolve CPU addresses to file offsets, and inspect all relevant memory aliases. File-offset lookup may omit aliases that are mapped indirectly through other blocks. Map meaning, dimensions, axes, units, and scaling require evidence. Save analysis metadata explicitly with ghidra_save_program; an analysis job finishing or a client disconnecting does not save it. Stop after an uncertain mutation and follow recovery instead of retrying automatically. ## Tuning file catalogue - Overview: https://api.redlineautohaus.com/docs/tuning/ - OpenAPI: https://api.redlineautohaus.com/docs/tuning/openapi.json - Integration guide: https://api.redlineautohaus.com/docs/tuning/guide.md - Runnable requests: https://api.redlineautohaus.com/docs/tuning/examples.http ## Shared developer credentials - [API access](https://api.redlineautohaus.com/docs/api-access/): one account key for Tuning and UDS; evidence submission included. - [Integration guide](https://api.redlineautohaus.com/docs/api-access/guide.md): permissions, examples, scope, rotation and administrative policy.