@@ -7,17 +7,18 @@ sidebar_position: 50
77--- 
88
99ToolHive includes a permission system that lets you control an MCP server's
10- access to the file system and network resources. This is crucial for maintaining
11- security and ensuring that MCP servers operate within defined boundaries.
10+ access to your host's file system and to network resources. This is crucial for
11+ maintaining security and ensuring that MCP servers operate within defined
12+ boundaries.
1213
1314This guide shows you how to create and apply custom permission profiles for MCP
1415servers, including built-in profiles and examples of common use cases.
1516
1617## Understanding permission profiles  
1718
18- Permissions are defined using JSON  permission profiles. These profiles specify:
19+ Permissions are defined using permission profiles. These profiles specify:
1920
20- -  File  system access (read and/or write access to specific paths)
21+ -  Host file  system access (read and/or write access to specific paths)
2122-  Network access rules (outbound connections from the MCP server)
2223
2324::: note 
@@ -184,9 +185,11 @@ When network isolation is enabled, ToolHive creates a secure network
184185architecture around your MCP server. Along with the main MCP server container,
185186ToolHive launches:
186187
187- -  ** Two Squid proxy containers**  (ingress and egress) that filter incoming and
188-   outgoing network traffic
188+ -  ** An egress Squid proxy container**  that filters outgoing network traffic
189189-  ** A dnsmasq container**  that provides controlled DNS resolution
190+ -  ** An ingress Squid proxy container**  that proxies incoming SSE requests from
191+   the ToolHive proxy process (only for MCP servers using SSE transport; stdio
192+   MCP servers don't need this since they don't expose ports)
190193
191194This multi-container setup ensures that all network traffic flows through
192195controlled proxy points, allowing ToolHive to enforce the network access rules
@@ -302,5 +305,13 @@ If your MCP server can't connect to external services:
302305
3033061 .  Verify that your profile allows the necessary hosts and ports
3043072 .  Check that the transport protocol (TCP/UDP) is allowed
305- 3 .  Try temporarily using the default ` network `  profile to confirm it's a
308+ 3 .  Check the logs of the egress proxy container for any blocked requests:
309+ 
310+    ``` bash 
311+    docker logs < mcp-server-name> -egress
312+    ``` 
313+ 
314+    Look for messages indicating denied connections.
315+ 
316+ 4 .  Try temporarily using the default ` network `  profile to confirm it's a
306317   permissions issue
0 commit comments