Vector35 / Vector35/binaryninja-api

Allow MCP server to bind to addresses other than 127.0.0.1

Open
#8,454 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
1.3k
Forks
298
Avg merge
5d 5h
Merged PRs (30d)
19

Description

What is the feature you'd like to have?
Please add an option to configure which address the official MCP server binds to.

Right now, it appears to always bind to 127.0.0.1. It would be useful to be able to change this to 0.0.0.0, or potentially a specific IP/interface, while keeping 127.0.0.1 as the default.

Is your feature request related to a problem?
Yes. I want to run Binary Ninja on my workstation while accessing its MCP server from an AI agent running on another machine over Tailscale.

Currently the MCP server only listens locally:

$ ss -lntp | grep 24642
LISTEN 0 50 127.0.0.1:24642 0.0.0.0:* users:(("binaryninja",pid=10402,fd=38))

Because it is bound to 127.0.0.1, the other machine cannot connect to it directly.

Are any alternative solutions acceptable?
It is possible to work around this using an SSH tunnel, socat, a reverse proxy, or similar port forwarding.

However, having a native setting for the bind address would be much cleaner.

For example:

127.0.0.1 — local access only/default
0.0.0.0 — all interfaces
100.x.x.x — a specific interface such as the machine's Tailscale IP

Additional Information:
None

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the official MCP server's listener setup and the existing configuration for port 24642. Check how the server currently binds to 127.0.0.1, then trace the relevant startup path to determine where a configurable address belongs; done means supporting a specified address while retaining 127.0.0.1 as the default and verifying the listener with ss.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
networking
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.