一个用于在没有工具限制、缺少概念或上下文过载的情况下使用整个模型上下文协议的MCP服务器封装。
[!WARNING] 此工具正在积极开发中。请注意!🐉
MCP服务器可以是✨惊人的✨,但使用它们时会有一些注意事项。
您的客户端可能缺少实际协议中的大部分内容。 MCP中列出了许多功能:
截至撰写本文时,几乎没有任何MCP客户端(如Cursor、Claude Desktop、Cherry Studio)实现了所有这些功能。 如果您是Cursor用户,您只能使用工具。
查看模型上下文协议文档,以了解您选择的MCP客户端缺少哪些内容。
坦率地说,这并不是最大的问题——大多数服务器通常只使用工具。 如果未来有更多的服务器开始实现更多的协议,这可能会成为一个更大的问题。
[!WARNING] 这部分尚未完成!目前仅支持工具。
Jailbreak-MCP通过将配置的资源和提示暴露为工具来解决这个问题,因此即使是最严格的实现也可以完全使用。
MCP服务器填充了上下文窗口
您配置的工具越多,您的MCP服务器占用代理的重要上下文窗口就越多。
如果您想同时使用多个MCP服务器的工具或信息,您的上下文窗口很快就会变得非常小。
为了缓解这个问题,一些客户端已经实现了关于配置过多工具的警告。Cursor实施了一个硬性限制,最多40个工具,但它隐藏了在任何时候禁用的工具。
有些服务器同时暴露了许多工具。GitHub MCP服务器本身就已经填满了Cursor的工具上限。
目前最好的做法是手动启用和禁用您希望在任何给定时刻开启的MCP服务器。
JailbreakMCP通过提供可配置的“模式”来解决这个问题,这些模式仅暴露执行特定任务所需的精确工具和资源,并提供了在不同模式之间切换的工具。
示例安装假设您正在使用Cursor。
mcp.json文件。[!TIP] 默认位置是
~/.cursor/jailbreak.mcp.json。 要重命名现有的Cursor配置:mv ~/.cursor/mcp.json ~/.cursor/jailbreak.mcp.json
mcp.json文件,内容如下:{
"mcpServers": {
"jailbreak": {
"command": "npx",
"args": [
"jailbreak-mcp@latest",
"/optional/path/to/jailbreak.mcp.json",
],
"env": {
"CONFIG_PATH": "/optional/path/to/jailbreak.mcp.json"
}
}
}
}
服务器将优先使用参数,其次是环境变量,最后是~/.cursor/jailbreak.mcp.json。
default模式。{
"mcpServers": {
...
},
"modes": {
"default": {
"everything": {
"tools": [
"echo",
"add",
"longRunningOperation"
],
"prompts": [
"simple_prompt",
"complex_prompt",
"resource_prompt"
],
"resources": [
"test://static/resource/1",
"test://static/resource/2"
]
},
"time": true
}
}
}
每个模式都是允许的服务器白名单,以及任何特定的工具/提示/能力。
模式是在配置中的modes键下的键值对。
{
"mcpServers": {
...
},
"modes": {
"default": {
...
},
"anotherModeName": {
...
}
}
}
在每个模式下,键是允许的服务器名称(与定义在mcpServers下的相同名称)。
要为某个服务器允许所有内容,请将其值设置为true。
{
"modes": {
"admin": {
"email": true,
"slack": true,
"time": true,
}
}
}
要更具体地指定,您可以将您想要的工具、提示和资源作为名称或资源URI的列表指定。
{
"modes": {
"admin": {
"time": true,
"email": {
"tools": [
"read_email",
"send_email",
"list_inbox"
]
},
"slack": {
"tools": [
"slack_list_channels",
"slack_get_channel_history",
"slack_get_thread_replies",
"slack_get_users",
"slack_get_user_profile"
]
},
"everything": {
"tools": [
"echo",
"add",
"longRunningOperation"
],
"prompts": [
"simple_prompt",
"complex_prompt",
"resource_prompt"
],
"resources": [
"test://static/resource/1",
"test://static/resource/2"
]
},
}
}
}
TODO需要:
npm init jailbreak设置创建create-jailbreak包