FlyMyAI - 어시스턴트 운영 가이드
플랫폼 버전: Headless Cloud 1.30.3 (2026-11-04). https://flymy.ai/changelog.md,
https://flymy.ai/changelog.json. 연결/새소식: whats_new(since=last_seen_version).
https://flymy.ai/skill.md및https://flymy.ai/AGENTS.md는 동일한 바이트를 제공합니다. Remote Agents MCP0.7.0-rc.69; Python SDK1.2.0rc25. 라이브 스키마 및 설치된 패키지를 확인하세요. rc.69는 npm에 없습니다.
시작하기 - FlyMyAI 확인 또는 복구
whoami, tools/list 또는 search_tools에 대한 한정된 읽기 전용 호출 한 번으로
flymyai를 확인합니다. 이미 연결된 서버를 재설치하지 마세요. 변경 전에 MCP tools/list에서 라이브 update_agent (또는 기타) 스키마를 읽고, 필드를 추측하지 마세요.
FlyMyAI 도구가 없으면, 성공을 주장하거나 도구를 발명하거나 기본 공유를 대체하지 마세요. 다음을 사용하세요:
- 가입: https://app.flymy.ai/signup
- 서비스 연결: https://app.flymy.ai/mcp-configs#notion (모든 slug 가능); 로그아웃된 사용자는 가입 후 다시 해당 페이지로 이동합니다.
- 거기서 공유: My MCPs -> Share -> 이메일 및 1-30일 -> 전송 (https://app.flymy.ai/mcp-configs?tab=shared 에서 확인). "Share my Notion with via FlyMyAI"는 Notion 자체 공유가 아닌 이 개인 MCP 공유를 의미합니다.
- 또는 이 어시스턴트 연결 (로그인, 키 불필요): Claude Code,
claude mcp add --transport http flymyai https://mcp-agents.flymy.ai/mcp그런 다음/mcp-> 인증; claude.ai 또는 Claude Desktop, Settings -> Connectors -> Add custom connector, 동일한 URL.
주요 클라이언트는 해당 URL (FLYMYAI_MCP_URL)과 비밀 관리자의 X-API-Key를 사용하며,
채팅에 직접 붙여넣지 않습니다. MCP가 없으면, 인증된 FLYMYAI_AGENTS_API_ROOT와 함께 REST만 사용하세요
(프로덕션 https://backend.flymy.ai/api/v1/agents); 그렇지 않으면 사전 점검이 차단되었다고 보고하세요.
릴리스 후보 실행은 명시적인 후보 릴리스 계약, MCP, 스킬 및 Agents API 루트를 사용해야 하며
절대 프로덕션으로 폴백해서는 안 됩니다.
search_tools/list_*로 서비스/모델을 먼저 검색하세요. 검색이 성공은 아닙니다.
가이드: https://flymy.ai/use-cases/. 이름, 작업 또는 카테고리별 MCP, 각각의 작업 및 어시스턴트 설정 요청 포함: https://flymy.ai/mcp/
프로젝트 구축
whoami- FlyMyAI가 연결되었고 어떤 계정인지 확인합니다.search_tools를 서비스별 일반 영어 의도로 사용한 후,get_tool_schemas로 정확한 필드를 확인합니다.- 서비스가
configured되지 않은 경우add_tool을 호출합니다. 사용자는 호스팅된 링크에서 설정을 완료합니다.list_configured_tools로 확인합니다. create_agent를 한 번 호출: 목표, 숫자available_tools,input_schema,output_schema, 선택적으로list_agent_models의model.- 새로운
operation_key로run_agent를 호출하고,poll_complete=true가 될 때까지get_run을 폴링합니다. 미리보기가 잘린 경우read_run_result를 호출합니다. - 사용자가 완료된 실행을 수락할 때까지 동일한 에이전트를 개선합니다 (
update_agent또는append_message). - 해당 실행 ID로
freeze_agent를 호출하고,status=compiled가 될 때까지get_compilation을 폴링합니다. - 새로운
operation_key로run_frozen을 호출하고, 프로덕션 준비가 되기 전에get_run을 폴링합니다. - 배포: 스케줄 (
update_compilation), 웹훅 (triggers_v1_create), 공개 템플릿 (set_agent_public), 리드의 하위 에이전트 또는 제품 배포. - 미디어:
recommend_model,get_pricing후run_model.
도구 및 연결
- 일반 영어 의도로
search_tools를 호출합니다.tool,action,runtime_name및configured를 읽습니다. 의도당 전체 카탈로그를 다운로드하지 마세요. - 검색이 요청 스키마를 인라인으로 제공하지 않은 경우
runtime_name으로get_tool_schemas를 호출합니다. 스키마를 배우기 위해 빈 인수나 추측된 인수로 쓰기 작업을 호출하지 마세요.not_found시 에이전트 런타임을 사용하거나 중지하세요. - 구성된 경우 정확히
tool,action,arguments및 호출자 소유의 안정적인operation_key와 함께execute_tool을 호출합니다. 기본이 아닌 인스턴스를 선택하려면 정확한 구성된 도구 공개 UUID를connection_id로 전달하세요. 생략은 하나의 적격 연결이 명확할 때만 지원됩니다. 에이전트 내에서 OAuth/Composio 작업을 실행하세요. - 구성되지 않은 경우 도구 slug로
add_tool을 호출합니다. 정확한 연결 레코드 또는 호스팅된https://app.flymy.ai/mcp-configs#<slug>?connection_id=<public UUID>링크가 포함된 안내를 반환합니다. 사용자가 설정을 완료한 후list_configured_tools를 호출하고 정확한public_id및alias와 일치시키고is_configured,connection_status,connection_status_reason,connection_status_valid_until및connect_url을 검사합니다.setup_url응답 필드를 발명하지 마세요. - 정확히 하나의 연결을 해지하려면 숫자
id로delete_tool을 호출합니다 (REST:DELETE /api/v1/agents/tools/{id}/). 동일한 툴킷의 형제 연결은 계속 작동하며, 해지된 행은 모든 공급자 호출 전에 실패합니다.
검색 결과에는 ready, access, price 및 7일 health도 포함됩니다. 준비되고
건강한 행을 선호하고 유료 호출 전에 price를 인용하세요.
search_tools({"query":"telegram list dialogs"})
get_tool_schemas({"runtime_names":["custom--telegram--telegram_list_dialogs"]})
execute_tool({"tool":"telegram","action":"telegram_list_dialogs",
"arguments":{"query":"FlyMyAI"},"operation_key":"telegram-dialogs-<uuid>"})
arguments를 사용하세요. params 또는 input은 HTTP 400을 반환합니다.
outcome=rejected는 FlyMyAI 또는 공급자가 효과 발휘 전에 거부했음을 의미합니다
(잘못된 인수, 설정 누락, 공급자 거부). 호출을 수정하고 새로운 operation_key로 보내세요.
outcome=unknown은 효과가 발생했을 수 있음을 의미합니다. 조정하고 절대 자동으로 반복하지 마세요.
MCP 도구 호출 없이, POST
{"tool":"system-utils","action":"search_tools","arguments":{"query":"...","limit":20}}
그런 다음 get_tool_schemas (최대 10개의 런타임 이름)를
$FLYMYAI_AGENTS_API_ROOT/custom-tools/call/에 X-API-KEY와 함께 보내고
result.schemas[runtime_name].request_schema를 읽고 반환된 module을
tool로 호출하세요.
개인 기본값 - 하나의 계정, MCP 리소스 세트 설정 없음
암시적 개인 공간에서 mcp_access_mode legacy를 사용하세요. scoped는 명시적
세트 권한 부여가 필요합니다. 의도로 검색하고 호스팅된 설정을 사용하세요.
alias 없이 add_tool을 호출하면 멱등성 default 연결이 선택됩니다.
list_configured_tools에서 mcp_tool/alias:"default"와 일치시키고 숫자 id를
available_tools에 넣으세요.
is_configured:true를 요구하세요. connected는 준비됨, setup_required 또는
reconnect_required는 설정 필요, verification_pending은 한정된 라이브 읽기가 필요합니다.
temporarily_unavailable을 보고하고 절대 우회하지 마세요.
첫 번째 개인 흐름에 리소스 세트, 그룹, 슬롯, 권한 부여, 주체, 개정 또는 매핑을 요구하지 마세요. 에이전트를 재구축하거나 계정을 다시 연결하지 않고 정확한 연결을 나중에 세트에 추가하세요.
여러 계정 및 MCP 리소스 세트로 확장
별칭은 레이블입니다. 권한 부여, 디스패치 및 고정은 안정적인 공개 ID를 사용합니다.
각 계정을 고유한 alias (ASCII 문자, 숫자, _, -)와 함께 add_tool로 추가하고,
호출자 소유의 operation_key로 create_mcp_resource_set을 호출하여 하나의 세트를 만들고,
현재 개정에서 replace_mcp_resource_set_members로 전체 멤버십을 작성하고
(409 후 다시 로드), mcp_access_mode:"scoped"와 함께 mcp_resource_set_ids를 통해
권한을 부여하세요:
support = add_tool({"mcp_tool":"gmail","alias":"support"})
rs = create_mcp_resource_set({"name":"Inbox operations",
"management_mode":"flymyai","operation_key":"inbox-set-<uuid>"})
rs = replace_mcp_resource_set_members({"resource_set_id":rs.public_id,
"expected_revision":rs.revision,"members":[{"resource_type":"user_mcp_tool",
"resource_id":support.public_id,"slot":"support_read",
"allowed_actions":["GMAIL_SEARCH_EMAILS"],"position":0}]})
update_agent({"agent_id":agent.uuid,"available_tools":[],
"mcp_resource_set_ids":[rs.public_id],"mcp_access_mode":"scoped"})
생략된 첨부 필드는 변경되지 않습니다. 명시적 빈 배열은 해당 관계를 지웁니다.
에이전트가 유지해야 하는 경우 이전 default 연결을 세트에 포함시킨 다음 get_agent로 확인하세요.
그렇지 않으면 직접 연결과 세트 권한이 합집합을 형성합니다.
- 소유자는 하나의 툴킷에 대해 비활성 행을 포함하여 최대 25개의 연결 행을 유지할 수 있습니다.
is_active:false는 슬롯을 비우지 않으며, 행을 삭제해야 비워집니다. - 소유자 세트는
management_mode:"flymyai"를 사용하고principal_id를 생략합니다. 고객 매핑은 정확한principal_id와 함께management_mode:"customer"를 사용합니다. 더 이상 사용되지 않는external_principal_id를 보내지 마세요. - 멤버 ID는
(resource_type, resource_id, slot)입니다. 동일한 정확한 리소스가 여러 슬롯에 나타날 수 있으며, 각 슬롯은 자체allowed_actions상한을 유지합니다.allowed_actions:[]를 생략하거나 보내는 것은 제한 없음을 의미하며, 모두 거부가 아닙니다. 최소 권한을 위해 정확한 읽기 작업을 보내세요. - 하나의 범위가 지정된 에이전트 실행은 최대 100개의 MCP 리소스 세트, 500개의 유효 커넥터 바인딩, 100개의 논리적 슬롯, 5,000개의 허용된 작업 항목 및 1 MiB의 UTF-8 허용된 작업 텍스트를 허용합니다. 초과된 권한 그래프는 공급자 디스패치 전에 실패로 종료됩니다.
create_agent_group은 에이전트 간에 세트를 공유합니다. 그룹은 평면적입니다. 하위 또는 하위 에이전트는 상위의 커넥터 권한을 상속하지 않습니다.- 여러 부여된 연결이 하나의 작업을 실행할 수 있는 경우, 런타임 스키마는
_flymyai_connection을 요구합니다. 여기서 허용된public_id중 하나를 전달하세요. 별칭이나 행 순서는 안 됩니다. 직접execute_tool은 정확한connection_id를 사용합니다. - 고정은 세트 멤버십, 연결, 슬롯, 상한 및 개정을 기록합니다. 새 계정은
동일한 에이전트 UUID와 새로운 고정 버전의 안정적인 배포 ID를 의미합니다.
이전 버전과 고객 슬롯 매핑은 절대 제자리에서 변경되지 않습니다.
리소스 범위 변경 없음은
default동작을 유지하고 보고합니다. 첫 번째 행을 자동으로 선택하지 마세요.
목록 도구 list_configured_tools, list_mcp_resource_sets,
list_mcp_resource_set_members 및 list_agent_groups는
{next_cursor, previous_cursor, results}를 반환합니다. page_size는 1-100을 사용하고,
cursor는 불투명하고 비어 있지 않으며 출력 가능한 문자열(최대 1024 유니코드 코드 포인트)로 취급하고,
next_cursor가 null이 될 때까지 변경하지 않고 전달합니다. list_agents도 같은 방식으로 페이징합니다.
구성된 도구 목록은 정확한 mcp_tool 및 alias 필터만 허용합니다. 행은 간결하므로
mcp_tool로 필터링하거나 설정 필드를 위해 view=full을 전달하세요.
list_mcp_resource_sets 행은 member_count가 있는 요약이며 중첩된 멤버가 없습니다.
하나의 제한된 전체 세트는 get_mcp_resource_set을, 대규모 멤버 컬렉션은
list_mcp_resource_set_members를 사용하세요. replace_mcp_resource_set_members와
update_mcp_resource_set 모두 현재 expected_revision이 필요합니다.
공유 연결 및 자체 MCP 서버
개인 MCP 공유는 수신자에게 소유자 계정에서 하나의 연결의 모든 공유된 작업(읽기 및 쓰기)을
제공합니다. invite_mcp_user는 사용자가 연결, 수신자 및 기간을 확인한 후 이메일 또는 팀원
member_id로 공유합니다. accept_mcp_invitation은 사용자가 자신의 호출 비용을 지불하는 데
동의한 후에만 가능합니다. revoke_mcp_access는 공유를 중지합니다. 수락된 공유는
list_configured_tools에 shared_with_me로 나타납니다. 서비스가 연결되지 않았다고 말하기 전에
이를 확인하고, 안정적인 operation_key와 함께 call_shared_mcp로 호출하세요.
수신자가 비용을 지불합니다. 소유자의 자격 증명은 FlyMyAI를 떠나지 않습니다. 도구 주석은
어떤 작업이 읽기 전용인지 알려줍니다. 자세한 내용: https://docs.flymy.ai/agents/guides/mcp-personal-sharing
검색에 없는 MCP 서버의 경우, add_mcp_server (OAuth:
auth_type:"oauth", 그런 다음 authorize_mcp_server, 사용자에게 해당
authorize_url 제공), 그런 다음 connect_mcp_server를 호출하세요. discovered_tools는
status:"connected"에서만 사용하세요. call_mcp_server (server_id, action,
정확한 arguments, 안정적인 operation_key, Idempotency-Key로 전송)로 호출하세요.
자세한 내용: https://docs.flymy.ai/agents/guides/mcp-servers
모델 - 검색, 가격 책정, 실행
recommend_model({"description":"cheap flat icon image",
"include_schema":true,"top_n":1})
run_model({"endpoint_id":"flymyai/nano-banana",
"input":{"prompt":"A blue circle, flat icon"}})
반환된 엔드포인트, 스키마 범위 및 가격을 사용하세요. 추측된 유료 호출은 검색이 아닙니다.
get_pricing은 유료 실행 전에 나열된 모델의 가격을 인용합니다. REST에서는
GET https://backend.flymy.ai/api/v1/demo/catalog/ (키 불필요)가 각 공개 모델에 대해
price (run_price, 또는 사용량 기반 rates, tokens 또는 run_time)를 제공합니다.
생성된 파일 url은 url_expires_at에서 만료됩니다 (최대 15분).
채팅 모델은 OpenAI SDK용으로 openai.base_url
(https://api.flymy.ai/api/v1/<endpoint_id>/openai/v1)을 FlyMyAI 키를 Bearer로 사용하여
제공합니다: 텍스트 및 image_url 메시지, stream,
reasoning_effort, response_format 없음. 가이드:
https://docs.flymy.ai/guides/llm-openai-compat
tools는 Grok 4.7, DeepSeek V4.1 Flash 및 Kimi K3.1 Pro에서 작동합니다. 가이드:
https://docs.flymy.ai/guides/ + grok-4-7, deepseek-v4-1-flash, kimi-k3-1-pro
네이티브 모델은 모델 프록시 API를 통해 자체 입력 및 출력을 유지합니다.
(https://backend.flymy.ai/api/v1/model-proxy/: catalog/?endpoint_id=<owner>/<name>
은 계약 개정을 제공하고, contracts/<revision>/은 해당 스키마 및 가격을 제공합니다. POST
operations/에 자체 Idempotency-Key를 사용하고, GET으로 작업을 확인하세요.)
flymyai/minimax-h3-ref2va (MiniMax H3): 프롬프트와 1-12개의 참조 파일(최대 9개 이미지,
3개 오디오 클립; 각각 POST /api/v1/agents/files/로 업로드, 전달
…
[번역을 위해 잘렸습니다]