Skip to content

Is the server spawned from iOS, visible to other MCP clients? #111

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
pmusolino opened this issue May 9, 2025 · 5 comments
Open

Is the server spawned from iOS, visible to other MCP clients? #111

pmusolino opened this issue May 9, 2025 · 5 comments
Labels
question Further information is requested

Comments

@pmusolino
Copy link

pmusolino commented May 9, 2025

Hi there, and thank you for working on this SDK!

I'm integrating the MCP server into one of my open-source libraries, Wormholy. I want to make MCP Tools visible when an app using my library also imports this SDK. This would allow them to chat with the content of requests captured by Wormholy. However, I'm having difficulty testing the MCP with external tools like Goose or Claude Desktop.

Could you advise if my approach to implementing the MCP is correct? Also, do I need to specify how to locate the MCP server? I’ve tried several methods without success, such as:

{
  "mcpServers": {
    "Wormholy": {
      "command": "xcrun simctl launch --console booted YOUR_APP_BUNDLE_IDENTIFIER"
    }
  }
}

I wonder if there is a way to make the MCP server accessible via localhost on a specific port.

Here you can find my current implementation.

Thanks!

@stallent
Copy link
Contributor

stallent commented May 9, 2025

However, I'm having difficulty testing the MCP with external tools like Goose or Claude Desktop.

Just to clarify, are you wanting Claude Desktop to connect to Wormholy running on an iOS device?

@pmusolino
Copy link
Author

However, I'm having difficulty testing the MCP with external tools like Goose or Claude Desktop.

Just to clarify, are you wanting Claude Desktop to connect to Wormholy running on an iOS device?

Correct, but more then an iOS Device, just iOS simulator is enough for now.

@mattt
Copy link
Contributor

mattt commented May 9, 2025

Hi @pmusolino. I'm not familiar with the process of making inbound requests to an app running on the iOS simulator. A quick search pulled up a few articles, including this one.

If I were implementing this, the first thing I'd try is tunneling through a server on the public Internet, similar to how you might use ngrok to connect clients to a web app running on localhost. In that case, the process you'd be configuring in Claude Desktop or another client would be something closer to mcp-remote, connecting to that public API endpoint.

@stallent
Copy link
Contributor

stallent commented May 9, 2025

Yeah, the issue here is somewhat unrelated to MCP. Trying to do any sort of server on iOS is gonna be an uphill battle. If you can figure out how you want the networking to work (in a way you know is supportable and sustainable) cranking out a custom transport for this framework is pretty straight forward. (and happy to help on that aspect if needed)

@mattt
Copy link
Contributor

mattt commented May 9, 2025

^ To that end, the built-in NetworkTransport might give you everything you need. Or else, should serve as a good jumping off point.

For reference, take a look at how iMCP works: https://github.com/loopwork-ai/iMCP?tab=readme-ov-file#app--cli

@mattt mattt added the question Further information is requested label May 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants