# MCPRequestHandler.respond(to:emit:)

- **Module:** MCPRequestHandler
- **Package:** LibTmuxMCP
- **Language:** Swift
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-swift/blob/254f8b2be7eb60cacc3ffcb3ea8e456784f582df/Sources/LibTmuxMCP/MCPProtocol.swift#L47
- **Page:** https://libtmux.org/en/swift/latest/mcp/reference/mcprequesthandler-respond(to-emit-)/

```
MCPRequestHandler.respond(to:emit:)(to: String, emit: @escaping (String) async -> Void) -> String?
```

Answers one newline-delimited JSON-RPC request.

Returns the response line, or `nil` for a valid notification or an
oversized request. Malformed JSON, invalid request objects, and request
ids that cannot fit in a bounded response receive the standard JSON-RPC
error with a null id.

- Parameters:
  - line: one JSON-RPC request without its trailing newline.
  - emit: where a notification sent *before* the answer goes — progress,
    while a long call is still running. Writing them is the caller's job
    because they share the one stdout the answer uses, and two writers
    there would interleave.
