Fyndling
fyndling-mcp
专为中世纪市场爱好者、历史重演者和生活史爱好者,以及协助他们规划的 AI 助手而打造。Fyndling MCP 为 AI 客户端提供了直接访问两个欧洲利基数据集的权限:
中世纪活动 — 按地点 + 半径 + 日期范围查询欧洲 20 个国家的 2,000 多个市场、音乐会、城堡体验和生活史活动(每周更新)
永久兴趣点 (POI) — 蜂蜜酒坊、蜂蜜酒生产商、城堡和中世纪餐厅,也可按地理半径搜索
历史食谱 — 来自 13 至 17 世纪六本烹饪书的 1,100 多份食谱,包含现代德语改编版、结构化配料表和原始手稿转录
→ fyndling.de — 该数据背后的 Web 应用程序
端点: https://fyndling.de/mcp
传输: 可流式传输的 HTTP (MCP 规范 2025-03-26)
身份验证: 无
速率限制: 60 次请求/分钟
快速入门
添加到您的 MCP 客户端配置中(例如 Claude Desktop 的 claude_desktop_config.json):
{
"mcpServers": {
"fyndling": {
"url": "https://fyndling.de/mcp"
}
}
}工具
活动与地点
find_events_near
查找地理坐标附近的中世纪活动,按距离排序。
参数 | 类型 | 必填 | 描述 |
| number | ✓ | 纬度 |
| number | ✓ | 经度 |
| number | — | 搜索半径(公里,默认 50,最大 500) |
| string | — | ISO 8601 开始日期,例如 |
| string | — | ISO 8601 结束日期,例如 |
| array | — |
|
| integer | — | 最大结果数(默认 20,最大 100) |
示例 — 今年夏天维也纳 80 公里内的市场:
{
"lat": 48.2082, "lon": 16.3738,
"radius_km": 80,
"date_from": "2026-06-01", "date_to": "2026-08-31",
"types": ["market"]
}响应字段: id, name, date_from, date_to, city, country, lat, lon, distance_km, category, description, fyndling_url
list_events
列出按类别、国家和/或日期范围过滤的活动。
参数 | 类型 | 必填 | 描述 |
| string | — |
|
| string | — | ISO 3166-1 alpha-2 代码(例如 |
| string | — | ISO 8601 |
| string | — | ISO 8601 |
| integer | — | 默认 20,最大 100 |
get_event
通过 ID 获取单个活动的完整详细信息。
参数 | 类型 | 必填 | 描述 |
| string | ✓ | 活动 ID(16 位十六进制,例如 |
find_pois_near
查找永久性的中世纪主题地点(蜂蜜酒坊、城堡、餐厅)。
参数 | 类型 | 必填 | 描述 |
| number | ✓ | 纬度 |
| number | ✓ | 经度 |
| number | — | 默认 100,最大 1000 |
| string | — |
|
| integer | — | 默认 20,最大 100 |
历史食谱
list_recipe_sources
列出所有六本可用的烹饪书及其元数据(年份、语言、地区、食谱数量)。
无参数。
来源:
键 | 标题 | 年份 | 语言 | 食谱数 |
| Das Buch von guter Speise | 1350 | 中古高地德语 | 96 |
| The Forme of Cury | 1390 | 中古英语 | 192 |
| Ménagier de Paris | 1393 | 古法语 | 380 |
| Libro de Arte Coquinaria | 1465 | 早期意大利语 | 268 |
| Kuchařství (Böhmisches Kochbuch) | 1535 | 早期捷克语 | ~100 |
| Koch und Kellermeisterei | 1574 | 早期新高地德语 | 110 |
search_recipes
通过过滤和配料匹配搜索历史食谱。
参数 | 类型 | 必填 | 描述 |
| string | — | 见下文课程类型 |
| integer 1–3 | — | 1=简单, 2=中等, 3=进阶 |
| boolean | — | 仅限适合户外/露营烹饪的食谱 |
| string | — | 按烹饪书过滤(见上文键) |
| integer | — | 最早来源年份(例如 |
| integer | — | 最晚来源年份(例如 |
| string[] | — | 包含过滤:必须包含所有列出的配料(部分匹配,AND 逻辑) |
| string[] | — | 排除这些课程类型 |
| string[] | — | 排除包含任何这些配料的食谱 |
| integer | — | 默认 20,最大 100 |
课程类型:
值 | 描述 |
| 开胃菜 |
| 牛肉主菜 |
| 猪肉主菜 |
| 家禽主菜(鸡、鹅等) |
| 野味主菜(鹿肉、野兔等) |
| 鱼类主菜 |
| 其他主菜 |
| 别名 — 所有肉类主菜组合 |
| 配菜 |
| 甜点/甜食 |
| 饮料 ( |
| 酱汁、香料糊 |
| 其他 |
示例 — 含肉桂和姜的甜点,排除含姜量高的食谱:
{
"course": "dessert",
"ingredients": ["Zimt", "Ingwer"],
"limit": 5
}示例 — 1450 年前适合露营烹饪的简单家禽菜肴:
{
"course": "main_poultry",
"difficulty_max": 1,
"lagerkueche": true,
"epoch_to": 1450
}食谱列表字段(为列表性能精简了完整详细信息):id, source_key, title_modern, course, difficulty, serves, prep_time_min, ingredients, lagerküche, published_at
get_recipe
获取单个食谱的完整详细信息。
参数 | 类型 | 必填 | 描述 |
| string | ✓ | 食谱 ID (例如 |
完整响应包括:
text_modern— 食谱的现代德语改编版ingredients— 结构化列表,包含amount(数量),unit(单位),name(名称),original_text(原始文本),original(中世纪原始来源文本)transcript— 包含语言和来源的中世纪原始文本annotations— 古语词汇表faq— 常见问题解答interpretive_choices— 对歧义段落的编辑决策scan— 手稿扫描图像链接
示例配料对象:
{
"original": "ein phunt mandels",
"amount": 500,
"unit": "g",
"name": "Mandeln",
"original_text": "500 g Mandeln"
}compose_menu
从历史食谱中组合多道菜菜单。自动最小化各道菜之间的配料重叠。
参数 | 类型 | 必填 | 描述 |
| string[] | ✓ | 有序课程列表,1–6 项(使用上文的课程类型值) |
| integer | — | 人数(信息性,包含在输出中) |
| integer 1–3 | — | 任何课程的最大难度 |
| boolean | — | 仅限适合露营烹饪的食谱 |
| integer | — | 最早来源年份 |
| integer | — | 最晚来源年份 |
示例 — 8 人 4 道菜晚餐,仅限 14 世纪:
{
"courses": ["starter", "main_fish", "main_poultry", "dessert"],
"persons": 8,
"epoch_from": 1300,
"epoch_to": 1400
}覆盖范围
活动: 德国、奥地利、瑞士、法国、波兰、捷克共和国、意大利、西班牙、葡萄牙、英国、爱尔兰、比利时、荷兰、丹麦、瑞典、挪威、爱沙尼亚、立陶宛等。
食谱: 来自维尔茨堡、巴黎、伦敦、意大利北部、布拉格和法兰克福的六本烹饪书 — 涵盖中古高地德语、中古英语、古法语、早期意大利语、早期捷克语和早期新高地德语。
许可与归属
活动数据汇总自公共来源;不保证准确性 — 请务必与组织者核实。
食谱文本和现代改编版:© Fyndling, CC BY-SA 4.0。中世纪原始文本属于公共领域。
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/neongrau/fyndling-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server