一个用于在没有工具限制、缺少概念或上下文过载的情况下使用整个模型上下文协议的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包