@findtime/mcp-server
@findtime/mcp-server
@findtime/mcp-server — это тонкая stdio-обёртка MCP поверх продакшн-API findtime.io Time API по адресу https://time-api.findtime.io.
Пакет намеренно проксирует продакшн-API вместо повторной реализации логики времени локально. Текущее время, переход на летнее время (DST), конвертация, пересечение, поиск встреч и определение местоположения должны оставаться согласованными с живым API.
Опубликованные поверхности:
npm:
@findtime/mcp-serverGitHub:
https://github.com/hkchao/findtime-mcp-serverОфициальный реестр MCP:
https://registry.modelcontextprotocol.io/?q=io.github.hkchao%2Ffindtime-mcp-serverИмя в реестре MCP:
io.github.hkchao/findtime-mcp-server
Поверхность инструментов
answer_time_questionget_findtime_helptime_snapshotget_current_timeget_dst_scheduleconvert_timeget_overlap_hoursfind_meeting_timesearch_timezonesget_location_by_id
Отдавайте предпочтение answer_time_question для запутанных естественно-языковых запросов, таких как «3pm PST to London», «what is the IANA timezone for San Francisco?», «working hours overlap for SF, Berlin, and Tokyo» или «what does CST mean?». Инструмент классифицирует запрос через доменную логику findtime.io, направляет его к детерминированному поведению Time API и возвращает структурированную неоднозначность или уточнение, когда мир действительно неоднозначен.
Related MCP server: Time MCP Server
Установка в MCP-клиентах
Используйте опубликованный пакет через npx:
npx -y @findtime/mcp-serverАвторам агентов: разместите SKILL.md рядом с конфигурацией MCP.
Он даёт Claude, Codex, Cursor, Cline, Windsurf, кастомным корпоративным ботам и другим
LLM-агентам правила работы: когда предпочитать MCP findtime.io, какие инструменты
вызывать и как обрабатывать неоднозначность или откат.
Требуемое окружение выполнения:
Node 20+
FINDTIME_TIME_API_KEY: действующий ключ разработчикаfindtime.ioсhttps://findtime.io/developers/keys/
Необязательные переменные окружения:
FINDTIME_TIME_API_BASE_URLTIME_API_BASE_URLTIME_API_TIMEOUT_MSFINDTIME_BINDING_TYPEдля необязательного контекста привязки установки/рабочего пространства. Поддерживаемые значения:slack_team,workspace_id,install_id.FINDTIME_BINDING_VALUEдля идентификатора установки/рабочего пространства, соответствующего выбранному типу привязки.FINDTIME_BINDING_HEADERдля прямого переопределения имени заголовка в кастомных корпоративных средах.FINDTIME_MCP_CLIENT_IDилиFINDTIME_MCP_INSTALL_IDдля предоставления стабильного идентификатора клиента. Если опущено, сервер создаёт его локально в каталоге состояния пользователя. При наличии обёртка MCP пересылает его вtime-apiкакX-Findtime-User-IDдля корпоративной атрибуции использования.FINDTIME_MCP_CLIENT_TYPEFINDTIME_MCP_TOOL_MODE=answer-onlyдля раскрытия толькоanswer_time_question,get_findtime_helpиget_api_diagnosticsдля корпоративных ботов, которые должны направлять каждый естественно-языковой запрос через answer API.FINDTIME_MCP_INSTRUMENTATION_ENABLED=falseдля отказа от анонимной телеметрии использования.FINDTIME_MCP_USAGE_TELEMETRY_URLдля переопределения конечной точки телеметрии по умолчанию.
Атрибуция конечного пользователя при каждом вызове
Многопользовательские MCP-хосты, такие как боты Slack, Discord и Teams, могут запускать один долгоживущий подпроцесс @findtime/mcp-server, при этом атрибутируя каждый вызов Time API конечному пользователю, который его инициировал. Добавьте необязательное поле _endUserId внутрь объекта arguments вызова инструмента MCP. Сервер удаляет _endUserId из параметров инструмента и пересылает его только как вышестоящий HTTP-заголовок X-Findtime-End-User-ID.
await client.callTool({
name: "get_current_time",
arguments: {
city: "Tokyo",
_endUserId: "a3f2c1d4e5b6c7d8"
}
});Поле необязательно и обратно совместимо. Если _endUserId отсутствует, равно null или пустой строке, заголовок опускается, и атрибуция возвращается к поведению на уровне установки через FINDTIME_MCP_CLIENT_ID или FINDTIME_MCP_INSTALL_ID.
Контракт конфиденциальности: _endUserId должен быть непрозрачным токеном, предоставленным хостом MCP, обычно SHA-256-хэшем идентификатора пользователя платформы, усечённым до 16–32 шестнадцатеричных символов. Не отправляйте сырые адреса электронной почты, имена, идентификаторы Slack/Discord/Teams или другие персональные данные (PII). Избегание PII в этом поле — ответственность хост-приложения.
Сервер защитно проверяет _endUserId: это должна быть строка длиной не более 256 символов, не содержащая CR, LF или других управляющих символов. Сырое значение никогда не логируется сервером.
Cursor
{
"mcpServers": {
"findtime": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@findtime/mcp-server"],
"env": {
"FINDTIME_MCP_CLIENT_TYPE": "cursor",
"FINDTIME_TIME_API_BASE_URL": "https://time-api.findtime.io",
"FINDTIME_TIME_API_KEY": "YOUR_FINDTIME_SECRET_KEY"
}
}
}
}Codex
[mcp_servers.findtime]
command = "npx"
args = ["-y", "@findtime/mcp-server"]
enabled = true
[mcp_servers.findtime.env]
FINDTIME_MCP_CLIENT_TYPE = "codex"
FINDTIME_TIME_API_BASE_URL = "https://time-api.findtime.io"
FINDTIME_TIME_API_KEY = "YOUR_FINDTIME_SECRET_KEY"
# Optional enterprise install binding:
# FINDTIME_BINDING_TYPE = "workspace_id"
# FINDTIME_BINDING_VALUE = "YOUR_WORKSPACE_ID"Claude Desktop
{
"preferences": {
"...": "keep your existing preferences here"
},
"mcpServers": {
"findtime": {
"command": "npx",
"args": ["-y", "@findtime/mcp-server"],
"env": {
"FINDTIME_TIME_API_BASE_URL": "https://time-api.findtime.io",
"FINDTIME_TIME_API_KEY": "YOUR_FINDTIME_SECRET_KEY"
}
}
}
}Claude CLI / Claude Code
Добавьте findtime.io с помощью:
claude mcp add --transport stdio \
--env FINDTIME_TIME_API_BASE_URL=https://time-api.findtime.io \
--env FINDTIME_TIME_API_KEY=YOUR_FINDTIME_SECRET_KEY \
--env FINDTIME_MCP_CLIENT_TYPE=claude-cli \
findtime -- npx -y @findtime/mcp-serverЕсли ваш Claude CLI использует JSON-конфигурацию, добавьте:
{
"mcpServers": {
"findtime": {
"command": "npx",
"args": ["-y", "@findtime/mcp-server"],
"env": {
"FINDTIME_TIME_API_BASE_URL": "https://time-api.findtime.io",
"FINDTIME_TIME_API_KEY": "YOUR_FINDTIME_SECRET_KEY",
"FINDTIME_MCP_CLIENT_TYPE": "claude-cli"
}
}
}
}Для корпоративных установок минимальным учётным данным всегда является ключ API. Если в среде установки есть стабильный идентификатор рабочего пространства или установки, опционально добавьте:
FINDTIME_BINDING_TYPE=workspace_id
FINDTIME_BINDING_VALUE=YOUR_WORKSPACE_IDДля установок, специфичных для Slack:
FINDTIME_BINDING_TYPE=slack_team
FINDTIME_BINDING_VALUE=T01ABC123Проверка установки
Сначала используйте явный запрос с вызовом инструмента:
Use the findtime.io MCP tool get_api_diagnostics.Затем:
Use the findtime.io MCP tool get_current_time for city "Tokyo" with countryCode "JP".После успеха переключитесь обратно на обычные естественно-языковые запросы:
Best meeting time between New York, Sydney, and Mumbai?Локальная разработка
Запустите версию рабочего пространства напрямую:
npm run mcp:startСервер пытается загрузить .env.development.local, .env.development, .env.local и .env из:
текущего рабочего каталога
services/mcp-serverкорня репозитория
Тесты
Тесты протокола и транспорта:
npm run test:mcp-serverЖивые смоук-тесты паритета с продакшном:
npm run test:mcp-server:smokeСмоук-набор проверяет:
search_timezonesanswer_time_questionget_current_timeget_dst_scheduleconvert_timeget_overlap_hoursfind_meeting_timeget_location_by_id
Процесс релиза мейнтейнера
Канонический публичный исходный код этого пакета теперь находится в:
GitHub:
https://github.com/hkchao/findtime-mcp-servernpm:
@findtime/mcp-serverОфициальный реестр MCP:
https://registry.modelcontextprotocol.io/?q=io.github.hkchao%2Ffindtime-mcp-server
Публикация и обновления версий должны происходить из этого публичного репозитория, а не из этого приватного репозитория приложения.
Стандартный процесс публикации в публичном репозитории:
npm test
npm pack --dry-run
npm publish --access publicЭквивалентные локальные проверки в этом репозитории:
npm run test:mcp-server
npm run mcp:packОтноситесь к этому репозиторию как к источнику реализации, который изначально создал пакет MCP, а не как к каноническому публичному источнику релизов.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceGives large language models time awareness capabilities through various time-related functions including current time retrieval, timezone conversion, and relative time calculations.61,014MIT
- AlicenseBqualityDmaintenanceProvides time and timezone functionality for LLMs, enabling them to get current time information across different timezones and convert times between zones.2MIT
- FlicenseNot gradedqualityDmaintenanceEnables LLMs to get current time information for any timezone worldwide, including available regions, cities, and ISO 8601 formatted timestamps with timezone offsets.8
- AlicenseBqualityDmaintenanceProvides current time information and timezone conversion capabilities using IANA timezone names with automatic system detection. It enables LLMs to fetch local or global times and convert specific timestamps between different regions.22MIT
Related MCP Connectors
A real clock for AI agents: current time, timezone conversion, and DST facts from the IANA tzdb.
Timezone tools for agents: convert, world clock, offset, lookup, date math, holidays, slots. x402
Wall-clock awareness for LLM agents. Two tools: elapsed-time-between-turns + day rollover detection.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/hkchao/findtime-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server