Florentine AI MCP
概览
作者提供的说明(英文原文)
MCP server for Florentine.ai - Natural language to MongoDB aggregations
PopNx MCP 的三大支柱
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
- 用户评价i暂无评价评价功能将在后续阶段与账户功能一起开放
- 我们的基础检查i1 项中通过 1 项依据公开信息检查;尚未扫描代码
- 使用情况i起步阶段↓ 5270/周 · ★ –
它能帮你做什么
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
- 连接方式: 在你的电脑上运行
- 传输方式: stdio
- 分类: 数据库与数据集
- 你需要填写:FLORENTINE_TOKEN, LLM_KEY
安装
选择你使用的 AI 应用,然后复制设置。
安装之前
- 基础检查:1 项中通过 1 项
- 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
- 需要你自己填写:
FLORENTINE_TOKEN,LLM_SERVICE,LLM_KEY,SESSION_ID,RETURN_TYPES,REQUIRED_INPUTS
标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
- npm已安装 Node.js(用于 npx 命令)
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"florentine-ai": {
"command": "npx",
"args": [
"-y",
"@florentine-ai/mcp",
"--mode",
"static"
],
"env": {
"FLORENTINE_TOKEN": "your-value",
"LLM_SERVICE": "your-value",
"LLM_KEY": "your-value",
"SESSION_ID": "your-value",
"RETURN_TYPES": "your-value",
"REQUIRED_INPUTS": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add florentine-ai --env FLORENTINE_TOKEN=your-value --env LLM_SERVICE=your-value --env LLM_KEY=your-value --env SESSION_ID=your-value --env RETURN_TYPES=your-value --env REQUIRED_INPUTS=your-value -- npx -y @florentine-ai/mcp --mode static运行前请先填写空着的值。
或者自己复制设置
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"florentine-ai": {
"command": "npx",
"args": [
"-y",
"@florentine-ai/mcp",
"--mode",
"static"
],
"env": {
"FLORENTINE_TOKEN": "your-value",
"LLM_SERVICE": "your-value",
"LLM_KEY": "your-value",
"SESSION_ID": "your-value",
"RETURN_TYPES": "your-value",
"REQUIRED_INPUTS": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
或者自己复制设置
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"florentine-ai": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@florentine-ai/mcp",
"--mode",
"static"
],
"env": {
"FLORENTINE_TOKEN": "your-value",
"LLM_SERVICE": "your-value",
"LLM_KEY": "your-value",
"SESSION_ID": "your-value",
"RETURN_TYPES": "your-value",
"REQUIRED_INPUTS": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
需要你填写的值
- Your Florentine.ai API key, get it from https://florentine.ai/dashboard
LLM_SERVICEenvThe LLM service to use, one of 'openai', 'anthropic', 'google' or 'deepseek' (must only be provided if you did not set it in your Florentine.ai account)- Your API key for the LLM service (must only be provided if you did not set it in your Florentine.ai account)
SESSION_IDenvSession ID for maintaining server-side context across requestsRETURN_TYPESenvStringified JSON array of return types for the responseREQUIRED_INPUTSenvStringified JSON array of values for required inputs keys
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它能做什么
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
基础检查i
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
- ✓ 通过
作者与仓库一致
注册名称已通过 GitHub 账户 florentine-ai 验证,该账户拥有此仓库
- … 尚未检查
仍在维护
我们还没有从 GitHub 读取这个仓库
- … 尚未检查
有许可证
我们还没有从 GitHub 读取这个仓库
- – 不适用
端点有响应
它在你的电脑上运行,没有互联网端点
- – 不适用
使用 OAuth 登录
在你的电脑上运行,改用本地设置
- … 尚未检查
工具描述中没有隐藏指令
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与“数据库与数据集”中的其他服务器比较i
- 星标数多于此分类中其他 1144 个服务器的 0%
- 发布到注册中心的时间比此分类中其他 1144 个服务器的 1% 更新
- 基础检查结果等于或优于此分类中其他 1144 个服务器的 100%
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
常见问题
Florentine AI MCP 安全吗?
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
它需要哪些密钥或代码?
你需要填写:FLORENTINE_TOKEN, LLM_KEY
它在我的电脑上运行还是在云端?
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
它还在维护吗?
GitHub 仓库最后更新于–,最新版本(0.2.1)于13个月前进入注册中心。
哪些应用可以使用它?
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
有什么可以替代它?
同一分类中有:Supabase, MongoDB MCP Server, Elasticsearch MCP Server
替代选择
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
作者的 README
打开 README
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Florentine.ai MCP Server - Talk to your MongoDB & MySQL data
The Florentine.ai Model Context Protocol (MCP) Server lets you integrate natural language querying for your MongoDB & MySQL data directly into your custom AI Agent or AI Desktop App.
Questions are forwarded by the AI Agent to the MCP Server, transformed into database queries and the query results are returned to the agent for further processing.
Also has a couple of extra features under the hood, e.g.:
- Secure data separation for multi-tenant usage
- Automated schema exploration
- Semantic vector search/RAG support with automated embedding creation
- Advanced lookup support
- Exclusion of keys
Note: If you are looking for our API you can find it here.
Contents
- Prerequisites
- Installation
- Available Tools
- Arguments
- Authentication
- Connect your LLM account
- Option 1: Save your LLM key in your account (recommended)
- Option 2: Provide your LLM key inside the MCP server config env variables
- Integration Modes
- Static Mode
- Environment variables
- Dynamic Mode
- Example breakdown
- florentine_ask Parameters
- Return Types
- Providing Return Types
- Return Types Configuration
- Secure Data Separation for multi-tenant usage
- Providing Required Inputs
- Required Inputs Configuration
- Supported Value Types
- Usage Examples
- Sessions
- Providing a session
- Errors
- Custom client error handling
- Common Errors
Prerequisites
- Node.js >= v18.0.0
- A Florentine.ai account (create a free account here)
- A connected database and at least one analyzed and activated collection/table in your Florentine.ai account
- A Florentine.ai API Key (you can find yours on your account dashboard)
Installation
A detailed documentation of the MCP Server can be found here in our docs.
You can easily run the server using npx. See the following example for Claude Desktop (claude_desktop_config.json):
{
"mcpServers": { "florentine": { "command": "npx", "args": ["-y", "@florentine-ai/mcp", "--mode", "static"], "env": { "FLORENTINE_TOKEN": " " } } } }
Available Tools
- florentine_list_collections --> Lists all currently active collections/tables that can be queried. That includes descriptions, keys and type of values.
- florentine_ask --> Receives a question and returns a query, query result or answer (depending on the
returnTypessetting).
Arguments
| Variable | Required | Allowed values | Description |
|---|---|---|---|
--mode | Yes | static, dynamic | static (for existing external MCP clients, e.g. Claude Desktop) or dynamic (for own custom MCP clients). See integration modes section. |
--debug | No | true | Enables logging to external file. If set requires --logpath to be set as well. |
--logpath | No | Absolute log file path | File path to the debug log. If set requires --debug to be set as åwell. |
Authentication
The Florentine.ai MCP Server uses an API key to authenticate requests. You can view and manage your API key on your account dashboard. The key must be added as an ENV variable to the configuration setup of the MCP server:
"env": {
"FLORENTINE_TOKEN": " " }
Connect your LLM account
Florentine.ai works as a bring your own key model, so you need to provide your LLM API key (OpenAI, Google, Anthropic, Deepseek) in your MCP requests.
You have two options how you can add your LLM API key:
Option 1: Save your LLM key in your account (recommended)
The easiest way to connect to your LLM provider is to save your LLM API key in your Florentine.ai dashboard.
- Add your API key
- Select your LLM provider (OpenAI, Deepseek, Google or Anthropic)
- Click Save
Option 2: Provide your LLM key inside the MCP server config env variables
If you prefer not to store the key in your Florentine.ai account or want to use multiple LLM keys, you can pass the key inside the MCP server config:
"env": {
"LLM_SERVICE": " ", "LLM_KEY": " " }
| Parameter | Description | Allowed Values |
|---|---|---|
LLM_SERVICE | Specifies the LLM provider to use. | openai,google,anthropic or deepseek |
LLM_KEY | Your API key for the provided LLM service. | A valid API key string |
Note: If you provide a
LLM_KEYinside the env variables of the MCP server config, it will override any key stored in your account.
Integration Modes
You will have to set the operating mode in the args array of your MCP Server config to either static or dynamic:
"args": [
"-y", "@florentine-ai/mcp", "--mode", "static" ]
Static Mode
The static mode should be used if you integrate Florentine.ai into an existing external MCP client such as a MCP-ready Desktop App like Claude Desktop or Dive AI.
In static mode you set all parameters (such as Return Types, Required Inputs, etc.) as env variables inside the config json. This means that these parameters will remain static until you change the setup config and will be sent with every request to Florentine.ai. See the following example:
{
"mcpServers": { "florentine": { "command": "npx", "args": ["-y", "@florentine-ai/mcp", "--mode", "static"], "env": { "FLORENTINE_TOKEN": " ", "SESSION_ID": "6f7d62f9-8ceb-456b-b7ef-6bd869c3b13a", "LLM_SERVICE": "openai", "LLM_KEY": " ", "RETURN_TYPES": "[\"result\"]", "REQUIRED_INPUTS": "[{\"keyPath\":\"accountId\",\"value\":\"507f1f77bcf86cd799439011\"}]" } } } }
Environment variables
| Variable | Required | Type | Description |
|---|---|---|---|
FLORENTINE_TOKEN | Yes | String | Your Florentine.ai api key, copy it from dashboard. |
SESSION_ID | No | String | The session id of the client. Used for server-side chat history. See Sessions section. |
LLM_SERVICE | No | String | Specifies the LLM provider to use. Only needed if you did not save the LLM key in your Florentine.ai account. See Connect your LLM account section. |
LLM_KEY | No | String | Your API key for the provided LLM service. Only needed if you did not save the LLM key in your Florentine.ai account. See Connect your LLM account section. |
RETURN_TYPES | No | Stringified JSON | The return types for florentine_ask tool calls. See Return Types section. |
REQUIRED_INPUTS | No | Stringified JSON | The required inputs. See Required Inputs section. |
Dynamic Mode
The dynamic mode should be used if you integrate Florentine.ai into your own custom MCP client.
In dynamic mode you can pass all parameters (such as Return Types, Required Inputs, etc.) directly to the florentine_ask tool. This means you can dynamically inject individual parameters to every request forwarded to Florentine.ai (i.e. a user id).
In order to be able to pass in values dynamically you have to overwrite the florentine_ask tool method inside your custom client/agent. Look at the following example using the standard @modelcontextprotocol Typescript SDK:
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
import { Client } from '@modelcontextprotocol/sdk/client/index.js'; import { fetchUserSpecificData } from './userService.js';
// Create the MCP client instance const mcpClient = new Client({ name: 'florentine', version: '1.0.0' });
// Define MCP setup configuration const mcpSetupConfig = new StdioClientTransport({ command: 'npx', args: ['-y', '@florentine-ai/mcp', '--mode', 'dynamic'], env: { FLORENTINE_TOKEN: ' ' } });
// Connect the MCP client await mcpClient.connect(mcpSetupConfig);
// Save original callTool function to variable const originalCallTool = mcpClient.callTool;
// Fetch and add florentine_ask parameters dynamically (mock implementation) const enhanceAskParameters = async ({ question }: { question: string }) => { return { question, // Mocking user data fetch (i.e. returnTypes, requiredInputs, etc.), // replace with actual implementation ...(await fetchUserSpecificData({ userId: ' ' })) }; };
// Overwrite callTool function with custom implemention // enhancing florentine_ask method with dynamically injected parameters mcpClient.callTool = async (params, resultSchema, options) => { if (params.name === 'florentine_ask') params.arguments = await enhanceAskParameters( params.arguments as unknown as { question: string } ); return await originalCallTool(params, resultSchema, options); };
// Call to florentine_ask tool will automatically enhance parameters const result = await mcpClient.callTool({ name: 'florentine_ask', arguments: { question: 'Who won the last tabletennis match?' } });
Example breakdown
Let's see what is happening in the example above in detail.
First of all we create the mcp client and connect it:
const只显示了开头部分;其余内容请在仓库中阅读