一个强大且免费的Rails样板项目,用于构建与Claude AI无缝集成的AI驱动应用程序,通过模型上下文协议(MCP)。此样板项目内置用户认证和OAuth2提供者功能。
git clone https://github.com/f/mcp-startup-boilerplate mcp-startup
cd mcp-startup
bundle install
yarn install
rails db:create db:migrate db:seed
在您的环境中设置Stripe API密钥:
export STRIPE_PUBLISHABLE_KEY="pk_test_your_key"
export STRIPE_SECRET_KEY="sk_test_your_key"
export STRIPE_WEBHOOK_SECRET="whsec_your_webhook_key"
对于开发环境,您也可以在config/initializers/stripe.rb中更新这些设置。
rails server
现在,您的应用程序应该可以在http://localhost:3000运行。
此应用程序内置了Stripe支付处理功能,适用于MCP工具:
应用程序包括一个PaidTool基类,允许您轻松创建需要支付的工具:
class YourPaidTool < PaidTool
description "您的付费工具描述"
# 自定义定价(可选,默认为$0.05)
def price_cents
8 # 每次调用$0.08
end
def call
return { error: "用户没有有效的订阅" } unless charge_user
# 在收费后执行您的实现
end
end
您可以通过以下方式自定义定价和行为:
price_cents以设置特定工具的自定义定价此样板项目包含由Doorkeeper驱动的完整OAuth2服务器实现。关键端点:
/oauth/authorize/oauth/token/oauth/applications/oauth/revokeOAuth服务器支持:
此样板项目预配置为通过模型上下文协议与Claude AI工作,使AI应用能够安全地访问您的应用程序数据和功能。
users/me - 访问有关已认证用户的资料信息MeTool - 获取当前已认证用户的信息(不可删除)FinancialCalculatorTool - 示例付费计算器工具要将您的应用程序连接到Claude:
{
"mcpServers": {
"your-server-name": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://your-server-url/mcp/sse"
]
}
}
}
对于Claude Desktop,该文件位于:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonapp/tools/中创建一个新的工具:class YourTool < ApplicationTool
description '您的工具描述'
arguments do
required(:param_name).filled(:string).description('参数描述')
end
def call(param_name:)
# 您的实现
# 访问当前已认证用户
user = current_user
# 使用用户数据进行操作
{ user_id: user.id, result: "处理了#{user.email}的数据" }
end
end
app/resources/中创建一个新的资源:class YourResource < ApplicationResource
uri 'your/resource/path'
resource_name '您的资源'
description '您的资源描述'
mime_type 'application/json'
def content
# 访问当前已认证用户
user = current_user
JSON.generate({
user_id: user.id,
email: user.email,
# 其他用户特定数据
custom_data: user.custom_data
})
end
end
MCP工具和资源都可以访问current_user方法,该方法返回从OAuth令牌获取的已认证用户。这允许您:
出于安全考虑,请始终在暴露敏感数据或执行关键操作之前验证用户权限。
本项目在MIT许可证下可用。
欢迎贡献、问题报告和功能请求!