このMCPでできること
Supports personal and collaborative tasks including web browsing, app creation, blogs, bookmarks, discussions, and contact management.
ツール
入力スキーマ
{'type': 'object', 'required': ['prompt'], 'properties': {'prompt': {'type': 'string', 'description': "Description of the app to build, e.g. 'an expense tracker', 'a packing checklist', 'a water intake counter'"}, 'request_key': {'type': 'string', 'description': 'Reuse this key when retrying the same request. Omit to deduplicate identical descriptions.'}}}
入力スキーマ
{'type': 'object', 'properties': {}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': ''}}}
入力スキーマ
{'type': 'object', 'properties': {}}
入力スキーマ
{'type': 'object', 'required': ['name', 'html'], 'properties': {'html': {'type': 'string', 'description': "The app's HTML, inline CSS and JavaScript included, up to 256KB"}, 'icon': {'type': 'string', 'description': 'An SVG icon'}, 'name': {'type': 'string', 'description': 'App name, e.g. "Pomodoro Timer"'}, 'slug': {'type': 'string', 'description': 'URL-friendly id, e.g. pomodoro-timer. Derived from the name if omitted'}, 'tags': {'type': 'string', 'description': 'Comma-separated tags'}, 'price': {'type': 'number', 'description': 'Credits charged per use, 0 for free, up to 1000'}, 'public': {'type': 'boolean', 'description': 'Publish only when explicitly requested by the owner. Personal apps are private by default.'}, 'private': {'type': 'boolean', 'description': 'Keep this app private to its owner; use true for personal widgets'}, 'description': {'type': 'string', 'description': 'What the app does. Defaults to the name'}}}
入力スキーマ
{'type': 'object', 'required': ['slug'], 'properties': {'html': {'type': 'string', 'description': 'New HTML, up to 256KB. Left alone if omitted'}, 'icon': {'type': 'string', 'description': 'New SVG icon. Left alone if omitted'}, 'name': {'type': 'string', 'description': 'New name. Left alone if omitted'}, 'slug': {'type': 'string', 'description': "The app's URL slug, e.g. pomodoro-timer"}, 'tags': {'type': 'string', 'description': 'New comma-separated tags. Left alone if omitted'}, 'price': {'type': 'number', 'description': 'Credits charged per use, 0 for free, up to 1000. Left alone if omitted'}, 'description': {'type': 'string', 'description': 'New description. Left alone if omitted'}}}
入力スキーマ
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "The app's URL slug"}}}
入力スキーマ
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Slug of the app to fork'}, 'new_slug': {'type': 'string', 'description': 'Slug for the copy. Generated from the original if omitted'}}}
入力スキーマ
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "The app's URL slug, e.g. pomodoro-timer"}}}
入力スキーマ
{'type': 'object', 'properties': {'tag': {'type': 'string', 'description': 'Filter to apps carrying this tag'}, 'query': {'type': 'string', 'description': 'Search query — name, description or tag'}}}
入力スキーマ
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "The app's URL slug"}}}
入力スキーマ
{'type': 'object', 'properties': {'kind': {'type': 'string', 'description': 'One kind: news, post, video, market, social, reminder. Omit for a summary of what is here'}, 'limit': {'type': 'number', 'description': 'Max entries (default 20, max 100)'}}}
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'kind': {'type': 'string', 'description': 'Narrow to one kind: news, post, video, market, social, reminder. Omit to search everything'}, 'limit': {'type': 'number', 'description': 'Max results (default 20, max 100)'}, 'query': {'type': 'string', 'description': 'What to look for'}}}
入力スキーマ
{'type': 'object', 'required': ['content'], 'properties': {'tags': {'type': 'string', 'description': 'Comma-separated tags'}, 'title': {'type': 'string', 'description': 'Post title. One is generated from the body if omitted'}, 'content': {'type': 'string', 'description': 'The post body, at least 50 characters'}, 'private': {'type': 'boolean', 'description': 'True to keep it to yourself'}}}
入力スキーマ
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': "The post's id, as given by blog_list"}, 'title': {'type': 'string', 'description': "The post's title, or enough of it to be unambiguous. An ambiguous title is refused rather than guessed — deleting the wrong post is not recoverable"}}}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Optional max number of posts (default all recent)'}}}
入力スキーマ
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': "The post's id, as given by blog_list"}, 'title': {'type': 'string', 'description': "The post's title, or enough of it to be unambiguous — use this when you have a name rather than an id"}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "The post's id, as given by blog_list"}, 'tags': {'type': 'string', 'description': 'New comma-separated tags. Left alone if omitted'}, 'title': {'type': 'string', 'description': 'New title. Left alone if omitted'}, 'content': {'type': 'string', 'description': 'New body, at least 50 characters. Left alone if omitted'}}}
入力スキーマ
{'type': 'object', 'properties': {'ref': {'type': 'string', 'description': 'Public archive item id for an article, video or blog post'}, 'url': {'type': 'string', 'description': 'Link to save when no archive id is available'}, 'note': {'type': 'string', 'description': 'Optional private note'}, 'title': {'type': 'string', 'description': 'Title for a link'}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': ''}, 'note': {'type': 'string', 'description': 'Private note, or empty to clear'}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Saved item id'}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Saved item id'}}}
入力スキーマ
{'type': 'object', 'properties': {'kind': {'type': 'string', 'description': 'article, video, post or link; empty for all'}, 'limit': {'type': 'number', 'description': 'Maximum items, default 20, at most 100'}, 'query': {'type': 'string', 'description': 'Search your saved titles, links, excerpts and private notes'}, 'offset': {'type': 'number', 'description': 'Number of matching items to skip'}}}
入力スキーマ
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'The page to open'}, 'wait': {'type': 'string', 'description': 'Optional CSS selector to wait for before reading, for content that arrives late'}}}
入力スキーマ
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'The page to photograph'}, 'full': {'type': 'boolean', 'description': 'Capture the whole page rather than one screenful'}, 'wait': {'type': 'string', 'description': 'Optional CSS selector to wait for before the shot'}}}
入力スキーマ
{'type': 'object', 'properties': {'room': {'type': 'string', 'description': 'Room id, as returned by Rooms'}}}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'How many rooms to return (default 20)'}}}
入力スキーマ
{'type': 'object', 'required': ['room', 'message'], 'properties': {'room': {'type': 'string', 'description': 'Room id, as returned by chat_rooms'}, 'message': {'type': 'string', 'description': 'What to say'}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Stored message id'}}}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': ''}, 'offset': {'type': 'number', 'description': ''}}}
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'The person\'s name, e.g. "Sarah Chen"'}, 'note': {'type': 'string', 'description': 'Anything worth remembering about them'}, 'email': {'type': 'string', 'description': 'Their email address'}, 'phone': {'type': 'string', 'description': 'Their phone number'}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "The contact's id, from contacts_find or contacts_list"}}}
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'A name, part of a name, or an address'}}}
入力スキーマ
{'type': 'object', 'properties': {}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Document id, from docs_list'}}}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Maximum documents to return (default 50)'}, 'query': {'type': 'string', 'description': 'Optional text to match against titles and bodies'}}}
入力スキーマ
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Document id, from docs_list'}, 'title': {'type': 'string', 'description': 'Exact title, if you do not have the id'}}}
入力スキーマ
{'type': 'object', 'required': ['title', 'content'], 'properties': {'id': {'type': 'string', 'description': 'Existing document id to replace. Omit to create a new one'}, 'title': {'type': 'string', 'description': "The document's title"}, 'public': {'type': 'boolean', 'description': 'Readable by anyone when true. Private by default'}, 'content': {'type': 'string', 'description': "The document's body, as markdown"}}}
入力スキーマ
{'type': 'object', 'required': ['title', 'when'], 'properties': {'note': {'type': 'string', 'description': 'Optional extra detail'}, 'when': {'type': 'string', 'description': 'When to fire, RFC3339 with timezone offset, e.g. 2026-07-22T15:00:00+01:00'}, 'title': {'type': 'string', 'description': "What to be reminded about, e.g. 'Call the dentist'"}, 'prompt': {'type': 'string', 'description': 'Optional instruction to run through the agent when it fires, e.g. "brief me on today\'s news". The answer is mailed to you'}, 'repeat': {'type': 'string', 'description': 'How often it recurs: hourly, daily, weekly or monthly. Omit for once'}, 'advance': {'type': 'object', 'description': 'Optional advance trigger: minutes before the event and recipient user or agent. Agent prepares a read-only report for delivery at when; actions that change records must use a normal scheduled prompt without advance'}, 'minutes': {'type': 'number', 'description': 'How long it lasts in minutes (default 30)'}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "The event's id, as given by events_list"}}}
入力スキーマ
{'type': 'object', 'properties': {'to': {'type': 'string', 'description': 'End of the window, RFC3339. Defaults to a week after from'}, 'from': {'type': 'string', 'description': 'Start of the window to search, RFC3339, e.g. 2026-08-03T00:00:00+01:00. Defaults to now'}, 'day_end': {'type': 'number', 'description': 'Latest hour of the day to offer, 0-23 (default 18)'}, 'minutes': {'type': 'number', 'description': 'How long a slot you need, in minutes (default 30)'}, 'day_start': {'type': 'number', 'description': 'Earliest hour of the day to offer, 0-23 (default 9)'}}}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Maximum events, default 20, max 100'}, 'offset': {'type': 'number', 'description': 'Events to skip'}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': ''}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Event id from events_list'}, 'note': {'type': 'string', 'description': 'New note; empty clears it'}, 'when': {'type': 'string', 'description': 'New future time as RFC3339 with timezone offset'}, 'title': {'type': 'string', 'description': 'New title; omitted keeps the existing title'}, 'prompt': {'type': 'string', 'description': 'New standing instruction; empty clears it'}, 'repeat': {'type': 'string', 'description': 'hourly, daily, weekly, monthly; empty makes it one-off'}, 'advance': {'type': 'object', 'description': 'Advance trigger with minutes and recipient user or agent; zero minutes and empty recipient clears it. Agent preparation is read-only'}, 'minutes': {'type': 'number', 'description': 'Duration in minutes, 1 to 10080'}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "The file's id"}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Drive file id from DriveSearch'}}}
入力スキーマ
{'type': 'object', 'properties': {'page': {'type': 'string', 'description': 'Next page token from a previous search'}, 'limit': {'type': 'number', 'description': 'Number of files, up to 20'}, 'query': {'type': 'string', 'description': "Text to find in the caller's connected Google Drive"}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "The file's id, as returned by files_put or files_list"}}}
入力スキーマ
{'type': 'object', 'properties': {}}
入力スキーマ
{'type': 'object', 'required': ['name', 'content'], 'properties': {'name': {'type': 'string', 'description': 'File name including its extension, e.g. "report.csv"'}, 'type': {'type': 'string', 'description': 'Optional content type, e.g. "text/csv". Guessed from the name when omitted'}, 'content': {'type': 'string', 'description': 'The file\'s contents — plain text, or base64 when encoding is "base64"'}, 'encoding': {'type': 'string', 'description': '"base64" for binary files; omit for text'}}}
入力スキーマ
{'type': 'object', 'required': ['id', 'public'], 'properties': {'id': {'type': 'string', 'description': "The file's id"}, 'public': {'type': 'boolean', 'description': 'True to let anyone with the URL read it, false to make it private again'}}}
入力スキーマ
{'type': 'object', 'required': ['code'], 'properties': {'code': {'type': 'string', 'description': "An airport code or name, e.g. 'LHR', 'EGLL' or 'Heathrow'"}}}
入力スキーマ
{'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'Optional latitude, if the location is already known'}, 'lon': {'type': 'number', 'description': 'Optional longitude, if the location is already known'}, 'near': {'type': 'string', 'description': "Where to look: a place name, or an airport name or code, e.g. 'Camden, London' or 'LHR'"}, 'radius': {'type': 'number', 'description': 'Optional radius in nautical miles (default 30, maximum 250)'}}}
入力スキーマ
{'type': 'object', 'properties': {'flight': {'type': 'string', 'description': 'IATA flight number, e.g. BA117'}, 'airport': {'type': 'string', 'description': 'IATA airport code, e.g. LHR'}, 'direction': {'type': 'string', 'description': 'arrivals or departures (default arrivals)'}}}
入力スキーマ
{'type': 'object', 'required': ['flight'], 'properties': {'flight': {'type': 'string', 'description': "A flight number ('BA117'), a radio callsign ('BAW117'), or an aircraft registration ('G-ZBKL')"}}}
入力スキーマ
{'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'Optional: look around this point instead'}, 'lon': {'type': 'number', 'description': 'Optional: look around this point instead'}, 'name': {'type': 'string', 'description': "Business name, e.g. 'Nandos'"}, 'limit': {'type': 'number', 'description': 'How many to return, default 10, max 30'}, 'where': {'type': 'string', 'description': 'Town, street or postcode to narrow it to'}}}
入力スキーマ
{'type': 'object', 'required': ['barcode'], 'properties': {'barcode': {'type': 'string', 'description': 'The barcode, 6 to 14 digits, e.g. 5000168034928'}}}
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'number', 'description': 'How many to return, default 10, max 25'}, 'query': {'type': 'string', 'description': "Product or brand name, e.g. 'hobnobs' or 'oat milk'"}}}
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Group name'}, 'encrypted': {'type': 'boolean', 'description': 'Require end-to-end encrypted XMPP clients; web chat cannot decrypt these messages'}}}
入力スキーマ
{'type': 'object', 'properties': {}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Group ID'}}}
入力スキーマ
{'type': 'object', 'required': ['id', 'action'], 'properties': {'id': {'type': 'string', 'description': ''}, 'value': {'type': 'string', 'description': 'New name for rename, or member/admin/owner for role'}, 'action': {'type': 'string', 'description': 'invite, accept, decline, remove, role, rename or delete'}, 'account': {'type': 'string', 'description': 'Local username for invite, remove or role; defaults to yourself for remove'}}}
入力スキーマ
{'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'Optional: only alerts near this point'}, 'lon': {'type': 'number', 'description': 'Optional: only alerts near this point'}, 'level': {'type': 'string', 'description': 'Lowest level to include: green, orange or red — default green (everything)'}, 'within_km': {'type': 'number', 'description': 'Optional: how near, in kilometres, default 1000 when lat/lon given'}}}
入力スキーマ
{'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'Optional: only warnings near this point'}, 'lon': {'type': 'number', 'description': 'Optional: only warnings near this point'}, 'severe': {'type': 'boolean', 'description': 'Only warnings and severe warnings — leave out the be-prepared alerts'}, 'within_km': {'type': 'number', 'description': 'Optional: how near, in kilometres, default 30 when a point is given'}}}
入力スキーマ
{'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'Optional: only events near this point'}, 'lon': {'type': 'number', 'description': 'Optional: only events near this point'}, 'min': {'type': 'number', 'description': 'Smallest magnitude to include, default 2.5'}, 'period': {'type': 'string', 'description': 'hour, day, week or month — default day'}, 'within_km': {'type': 'number', 'description': 'Optional: how near, in kilometres, default 500 when lat/lon given'}}}
入力スキーマ
{'type': 'object', 'properties': {'date': {'type': 'string', 'description': 'YYYY-MM-DD; omitted for the current daily image'}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': ''}}}
入力スキーマ
{'type': 'object', 'required': ['prompt'], 'properties': {'prompt': {'type': 'string', 'description': 'What the image should depict'}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': ''}}}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Page size, default 20, maximum 100'}, 'scope': {'type': 'string', 'description': 'mine, public, all (own plus public), or daily; defaults to public'}, 'cursor': {'type': 'string', 'description': 'Next cursor from the previous page; keep query and scope unchanged'}}}
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'number', 'description': 'Max results (default 20)'}, 'query': {'type': 'string', 'description': 'What the image should show, in words'}, 'scope': {'type': 'string', 'description': 'public, mine, all, or daily; defaults to public'}, 'cursor': {'type': 'string', 'description': ''}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': ''}, 'public': {'type': 'boolean', 'description': 'Explicitly publish or unpublish this image'}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': ''}, 'tags': {'type': 'array', 'description': ''}, 'title': {'type': 'string', 'description': ''}, 'description': {'type': 'string', 'description': ''}}}
入力スキーマ
{'type': 'object', 'required': ['data'], 'properties': {'data': {'type': 'string', 'description': 'Base64 PNG, JPEG or GIF; at most 512 KB decoded and 8 megapixels; browser uploads support 8 MB'}, 'description': {'type': 'string', 'description': 'Image caption, at most 1000 characters'}}}
入力スキーマ
{'type': 'object', 'required': ['path'], 'properties': {'path': {'type': 'string', 'description': 'Resource path from a search result, e.g. /quran/2/255 or /seerah/page/10; an https://aslam.org URL is also accepted'}}}
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'number', 'description': 'Maximum results, 1-50 (default 20)'}, 'query': {'type': 'string', 'description': 'Keywords to find in the Islamic knowledge base'}, 'collection': {'type': 'string', 'description': 'Optional source: quran, hadith, names, seerah, ghazali, islamqa, adhkar or salihin'}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Gmail message id from GmailSearch'}}}
入力スキーマ
{'type': 'object', 'properties': {'page': {'type': 'string', 'description': 'Next page token from a previous search'}, 'limit': {'type': 'number', 'description': 'Number of messages, up to 20'}, 'query': {'type': 'string', 'description': 'Gmail search, e.g. is:unread. Limited to the last seven days. Returns headers only; use GmailRead for a relevant message body. Older mail is unavailable'}}}
入力スキーマ
{'type': 'object', 'properties': {'tag': {'type': 'string', 'description': 'Only messages sent to this plus-address tag'}, 'limit': {'type': 'number', 'description': 'Max messages (default 10)'}, 'offset': {'type': 'number', 'description': 'Matching messages to skip'}}}
入力スキーマ
{'type': 'object', 'properties': {'tag': {'type': 'string', 'description': 'A label for this handle, e.g. "research" or "receipts". Omit for the plain one'}}}
入力スキーマ
{'type': 'object', 'properties': {'all': {'type': 'boolean', 'description': 'Explicitly mark all current inbox mail as read'}, 'ids': {'type': 'array', 'description': 'Message IDs to mark read; use all instead to clear the inbox unread count'}}}
入力スキーマ
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Message id from mail_inbox or mail_search'}, 'limit': {'type': 'number', 'description': 'Body characters per page; default and maximum 2000'}, 'offset': {'type': 'number', 'description': 'Body character offset'}}}
入力スキーマ
{'type': 'object', 'properties': {'tag': {'type': 'string', 'description': 'Only messages sent to this plus-address tag'}, 'limit': {'type': 'number', 'description': 'Max results (default 10)'}, 'query': {'type': 'string', 'description': 'What to look for'}, 'offset': {'type': 'number', 'description': 'Matching messages to skip'}}}
入力スキーマ
{'type': 'object', 'required': ['to', 'subject', 'body'], 'properties': {'to': {'type': 'string', 'description': 'Recipient: a username on this instance, or a full email address. Resolve a name with contacts_find first'}, 'body': {'type': 'string', 'description': 'Message body, plain text'}, 'subject': {'type': 'string', 'description': 'Message subject'}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Stored message id'}}}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': ''}, 'offset': {'type': 'number', 'description': ''}}}
入力スキーマ
{'type': 'object', 'properties': {'east': {'type': 'number', 'description': 'Eastern edge, in degrees longitude'}, 'west': {'type': 'number', 'description': 'Western edge'}, 'zoom': {'type': 'number', 'description': 'Zoom level, 0 to 20'}, 'north': {'type': 'number', 'description': 'Northern edge, in degrees latitude'}, 'south': {'type': 'number', 'description': 'Southern edge'}, 'style': {'type': 'string', 'description': 'road, outdoor or light'}}}
入力スキーマ
{'type': 'object', 'properties': {'x': {'type': 'number', 'description': 'Tile column at that zoom'}, 'y': {'type': 'number', 'description': 'Tile row at that zoom'}, 'z': {'type': 'number', 'description': 'Zoom level, 0 to 20'}, 'style': {'type': 'string', 'description': 'road, outdoor or light — outdoor has rights of way and contours'}}}
入力スキーマ
{'type': 'object', 'required': ['from', 'to'], 'properties': {'to': {'type': 'string', 'description': 'Currency or asset to convert to, as a code: JPY, USD, ETH…'}, 'date': {'type': 'string', 'description': 'Optional: the rate on a past day, as 2020-01-03. Currencies only, back to 1999'}, 'from': {'type': 'string', 'description': 'Currency or asset to convert from, as a code: GBP, USD, EUR, BTC…'}, 'amount': {'type': 'number', 'description': 'How much to convert. Default 1'}}}
入力スキーマ
{'type': 'object', 'required': ['symbol'], 'properties': {'end': {'type': 'string', 'description': 'Last date inclusive, YYYY-MM-DD; default today. Maximum range 366 days'}, 'limit': {'type': 'number', 'description': 'Maximum points per page, default 20, maximum 100'}, 'start': {'type': 'string', 'description': 'First date, YYYY-MM-DD; default 30 days ago'}, 'offset': {'type': 'number', 'description': ''}, 'symbol': {'type': 'string', 'description': 'Supported ticker, e.g. BTC, AAPL, GOLD or EUR'}}}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Maximum instruments, default 20, max 100'}, 'offset': {'type': 'number', 'description': 'Instruments to skip'}, 'category': {'type': 'string', 'description': 'crypto (BTC, ETH, SOL…), stocks, commodities (OIL, GOLD, SILVER, COPPER, COFFEE, WHEAT, CORN, SOYBEANS, OATS), futures (the metals and oil alone) or currencies (EUR, GBP, JPY…). Default crypto'}}}
入力スキーマ
{'type': 'object', 'required': ['symbol'], 'properties': {'symbol': {'type': 'string', 'description': 'One supported ticker, e.g. BTC, AAPL, GOLD or EUR; prices are in USD'}}}
入力スキーマ
{'type': 'object', 'properties': {}}
入力スキーマ
{'type': 'object', 'properties': {'day': {'type': 'string', 'description': 'today to restrict headlines to the caller’s local calendar day'}, 'limit': {'type': 'number', 'description': 'Optional max number of headlines (default 30)'}, 'topic': {'type': 'string', 'description': 'Optional topic/category filter (e.g. tech, world, business)'}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Article id (from Headlines) or article URL'}}}
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Search terms, e.g. latest AI news'}}}
入力スキーマ
{'type': 'object', 'required': ['title', 'text'], 'properties': {'text': {'type': 'string', 'description': 'What the note says'}, 'title': {'type': 'string', 'description': 'What the note is called, e.g. "location" or "project brief". Writing a title that exists rewrites that note'}}}
入力スキーマ
{'type': 'object', 'required': ['title'], 'properties': {'title': {'type': 'string', 'description': 'The note to delete, as returned by notes_list'}}}
入力スキーマ
{'type': 'object', 'required': ['title'], 'properties': {'title': {'type': 'string', 'description': "The note's title, as given to notes_add"}}}
入力スキーマ
{'type': 'object', 'properties': {}}
入力スキーマ
{'type': 'object', 'properties': {}}
入力スキーマ
{'type': 'object', 'required': ['title'], 'properties': {'url': {'type': 'string', 'description': 'Where tapping it goes, e.g. /inbox. A notification you cannot act on trains someone to ignore the next one'}, 'body': {'type': 'string', 'description': 'A second line, up to about 300 characters. Optional'}, 'title': {'type': 'string', 'description': 'The line on the lock screen. Short — this is the whole message on a watch'}}}
入力スキーマ
{'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number', 'description': 'Latitude, e.g. 51.5308'}, 'lon': {'type': 'number', 'description': 'Longitude, e.g. -0.1238'}}}
入力スキーマ
{'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'Optional latitude, if the location is already known'}, 'lon': {'type': 'number', 'description': 'Optional longitude, if the location is already known'}, 'place': {'type': 'string', 'description': "A place name or address, e.g. 'Denver' or 'Ben Nevis'"}}}
入力スキーマ
{'type': 'object', 'properties': {'address': {'type': 'string', 'description': 'A place name or address to locate'}}}
入力スキーマ
{'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'Optional latitude'}, 'lon': {'type': 'number', 'description': 'Optional longitude'}, 'near': {'type': 'string', 'description': "Place to look around, e.g. 'Camden, London' (or give lat/lon)"}, 'query': {'type': 'string', 'description': "Optional keyword to filter by, e.g. 'cafe'"}, 'radius': {'type': 'number', 'description': 'Optional radius in metres (default 1000)'}}}
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'lat': {'type': 'number', 'description': 'Optional latitude, if the location is already known'}, 'lon': {'type': 'number', 'description': 'Optional longitude, if the location is already known'}, 'near': {'type': 'string', 'description': "Optional place to search near, e.g. 'Shoreditch, London' or 'SF'"}, 'query': {'type': 'string', 'description': "What to look for, e.g. 'ramen', 'pharmacy', 'Blue Bottle Coffee'"}, 'radius': {'type': 'number', 'description': 'Optional search radius in metres (default 2000)'}}}
入力スキーマ
{'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number', 'description': 'Latitude of the location'}, 'lon': {'type': 'number', 'description': 'Longitude of the location'}}}
入力スキーマ
{'type': 'object', 'properties': {}}
入力スキーマ
{'type': 'object', 'properties': {'book': {'type': 'number', 'description': 'Book number within Sahih al-Bukhari. Omit for a saying from any book'}}}
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'A question in plain language, e.g. "what is said about patience"'}}}
入力スキーマ
{'type': 'object', 'required': ['lat', 'lon'], 'properties': {'tz': {'type': 'string', 'description': 'IANA timezone of the location, e.g. Europe/London (defaults to UTC)'}, 'lat': {'type': 'number', 'description': 'Latitude of the location'}, 'lon': {'type': 'number', 'description': 'Longitude of the location'}, 'method': {'type': 'string', 'description': 'Calculation convention: isna, mwl, egypt, karachi, gulf, diyanet, muis or jakim (defaults to isna)'}}}
入力スキーマ
{'type': 'object', 'required': ['chapter'], 'properties': {'verse': {'type': 'number', 'description': 'Verse number within the chapter. Omit for the whole chapter'}, 'chapter': {'type': 'number', 'description': 'Chapter (surah) number, 1-114'}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "The conversation's id, as recall_search reports it"}, 'limit': {'type': 'number', 'description': 'Max messages, most recent kept (default 50)'}}}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Max conversations (default 20)'}, 'client': {'type': 'string', 'description': 'Only conversations on one client: web, mail, cli'}}}
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'number', 'description': 'Max results (default 20, max 200)'}, 'query': {'type': 'string', 'description': 'What to look for — a word or phrase that was said'}, 'client': {'type': 'string', 'description': 'Narrow to where it was said: web, mail, cli. Omit for everywhere'}}}
入力スキーマ
{'type': 'object', 'properties': {'to': {'type': 'string', 'description': "Where the journey ends, e.g. 'Heathrow Airport'"}, 'from': {'type': 'string', 'description': "Where the journey starts, e.g. 'King's Cross, London' (or give from_lat/from_lon)"}, 'mode': {'type': 'string', 'description': 'How to travel: drive (default), walk, cycle or transit'}, 'to_lat': {'type': 'number', 'description': 'Optional end latitude, if already known'}, 'to_lon': {'type': 'number', 'description': 'Optional end longitude, if already known'}, 'from_lat': {'type': 'number', 'description': 'Optional start latitude, if already known'}, 'from_lon': {'type': 'number', 'description': 'Optional start longitude, if already known'}, 'arrive_by': {'type': 'string', 'description': 'Be there by this time, as RFC3339. Cannot be combined with depart_at'}, 'depart_at': {'type': 'string', 'description': 'When the journey starts, as RFC3339. Defaults to now'}}}
入力スキーマ
{'type': 'object', 'properties': {'to': {'type': 'string', 'description': "Where the journey ends, e.g. 'Heathrow Airport'"}, 'from': {'type': 'string', 'description': "Where the journey starts, e.g. 'King's Cross, London' (or give from_lat/from_lon)"}, 'mode': {'type': 'string', 'description': 'How to travel: drive (default), walk, cycle or transit'}, 'to_lat': {'type': 'number', 'description': 'Optional end latitude, if already known'}, 'to_lon': {'type': 'number', 'description': 'Optional end longitude, if already known'}, 'from_lat': {'type': 'number', 'description': 'Optional start latitude, if already known'}, 'from_lon': {'type': 'number', 'description': 'Optional start longitude, if already known'}, 'arrive_by': {'type': 'string', 'description': 'Be there by this time, as RFC3339. Answers when to leave. Cannot be combined with depart_at'}, 'depart_at': {'type': 'string', 'description': 'When the journey starts, as RFC3339 (e.g. 2026-08-13T08:00:00Z). Defaults to now. Traffic and timetables are read for this time'}}}
入力スキーマ
{'type': 'object', 'required': ['to'], 'properties': {'to': {'type': 'array', 'description': "The places to compare, e.g. ['Heathrow', 'Gatwick', 'Stansted']"}, 'from': {'type': 'string', 'description': "Where you are starting from, e.g. 'Shoreditch, London' (or give from_lat/from_lon)"}, 'mode': {'type': 'string', 'description': 'How to travel: drive (default), walk, cycle or transit'}, 'from_lat': {'type': 'number', 'description': 'Optional start latitude, if already known'}, 'from_lon': {'type': 'number', 'description': 'Optional start longitude, if already known'}}}
入力スキーマ
{'type': 'object', 'required': ['command'], 'properties': {'dir': {'type': 'string', 'description': 'Directory to run it in, under /work. Defaults to /work'}, 'command': {'type': 'string', 'description': "A shell command to run, e.g. 'go test ./... 2>&1 | tail -40'"}, 'timeout': {'type': 'number', 'description': "Seconds to allow, up to the instance's maximum. Defaults to 120"}}}
入力スキーマ
{'type': 'object', 'required': ['path', 'content'], 'properties': {'path': {'type': 'string', 'description': 'Where to put it, relative to /work — not to the directory your last command left you in. Missing directories are created'}, 'content': {'type': 'string', 'description': 'The whole file. This replaces what was there'}}}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'How many messages to return, newest first (default 50, max 200)'}}}
入力スキーマ
{'type': 'object', 'properties': {}}
入力スキーマ
{'type': 'object', 'required': ['to', 'text'], 'properties': {'to': {'type': 'string', 'description': 'The number to message, in international format, e.g. +447700900123. Use contacts_find to turn a name into one'}, 'text': {'type': 'string', 'description': 'What to say. A text is charged per 160-character segment, so brevity is not only good manners'}, 'channel': {'type': 'string', 'description': "How to send it: 'sms' (the default) or 'whatsapp'. WhatsApp only works with somebody who messaged this instance in the last 24 hours — reply on the channel they used"}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Stored message id'}}}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': ''}, 'offset': {'type': 'number', 'description': ''}}}
入力スキーマ
{'type': 'object', 'required': ['number'], 'properties': {'code': {'type': 'string', 'description': 'The code that was texted to that number. Omit to have one sent'}, 'number': {'type': 'string', 'description': 'Your own number, in international format'}}}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Optional max number of posts (default all recent)'}}}
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'number', 'description': 'Max results (default 20)'}, 'query': {'type': 'string', 'description': 'What to look for in posts on this instance'}}}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'How many entries to return (default 20, max 100)'}}}
入力スキーマ
{'type': 'object', 'required': ['title'], 'properties': {'due': {'type': 'string', 'description': 'Optional deadline, RFC3339 or 2006-01-02 15:04'}, 'title': {'type': 'string', 'description': 'What is to be done'}, 'detail': {'type': 'string', 'description': 'Anything the doer needs to know: context, links, constraints'}, 'assignee': {'type': 'string', 'description': 'me (default) or agent — assign to the agent and it can pick the task up'}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "The task's id"}}}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Maximum tasks, default 20, max 100'}, 'offset': {'type': 'number', 'description': 'Tasks to skip'}, 'status': {'type': 'string', 'description': 'Optional filter: todo, doing, done, failed or blocked'}}}
入力スキーマ
{'type': 'object', 'properties': {}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "The task's id"}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "The task's id"}, 'title': {'type': 'string', 'description': 'New title'}, 'detail': {'type': 'string', 'description': 'New detail'}, 'result': {'type': 'string', 'description': 'What came of it — the answer, the outcome, what was found'}, 'status': {'type': 'string', 'description': 'todo, doing, done, failed or blocked'}}}
入力スキーマ
{'type': 'object', 'required': ['text', 'labels'], 'properties': {'text': {'type': 'string', 'description': 'The text to sort'}, 'labels': {'type': 'string', 'description': 'Comma-separated labels to choose between'}}}
入力スキーマ
{'type': 'object', 'required': ['text', 'schema'], 'properties': {'text': {'type': 'string', 'description': 'The text to read'}, 'schema': {'type': 'string', 'description': 'A JSON schema, or a plain description of the fields wanted'}}}
入力スキーマ
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'The text to summarise'}, 'lines': {'type': 'number', 'description': 'Optional: roughly how many sentences or bullets'}, 'style': {'type': 'string', 'description': "Optional: 'bullets' for a list, otherwise prose"}}}
入力スキーマ
{'type': 'object', 'required': ['text', 'to'], 'properties': {'to': {'type': 'string', 'description': "Target language, e.g. 'French' or 'ar'"}, 'text': {'type': 'string', 'description': 'The text to translate'}}}
入力スキーマ
{'type': 'object', 'required': ['stop'], 'properties': {'stop': {'type': 'string', 'description': "Stop name or id, e.g. 'Oxford Circus' or 940GZZLUOXC"}}}
入力スキーマ
{'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'Latitude of the point to look around'}, 'lon': {'type': 'number', 'description': 'Longitude of the point'}, 'limit': {'type': 'number', 'description': 'How many to list, default 10'}, 'within_km': {'type': 'number', 'description': 'How far to look, in kilometres — default 2, most 25'}}}
入力スキーマ
{'type': 'object', 'properties': {'country': {'type': 'string', 'description': 'Optional two-letter code to narrow the list: GB, US, ES…'}}}
入力スキーマ
{'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number', 'description': 'Latitude'}, 'lon': {'type': 'number', 'description': 'Longitude'}, 'radius': {'type': 'number', 'description': 'Metres to search, default 400, max 2000'}}}
入力スキーマ
{'type': 'object', 'properties': {'modes': {'type': 'string', 'description': 'Optional: tube, dlr, overground, elizabeth-line, tram — comma separated'}}}
入力スキーマ
{'type': 'object', 'properties': {'rows': {'type': 'number', 'description': 'How many services, 1 to 20, default 10'}, 'station': {'type': 'string', 'description': 'Three-letter station code — KGX, MAN, EDB'}, 'arrivals': {'type': 'boolean', 'description': 'Show what is coming in rather than what is leaving'}}}
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'A username or part of a display name'}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Their username'}}}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'How many to return, newest first. Default 100'}, 'online': {'type': 'boolean', 'description': 'Only those seen in the last three minutes'}}}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Maximum videos per page, default 20, maximum 100'}, 'offset': {'type': 'number', 'description': 'Videos to skip'}, 'category': {'type': 'string', 'description': 'Optional curated category'}}}
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Video id or video_ archive id from List or Search'}}}
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'What to search for'}, 'channel': {'type': 'string', 'description': 'Exact YouTube channel ID when the user requests a particular channel; obtain it from search results'}}}
入力スキーマ
{'type': 'object', 'properties': {}}
入力スキーマ
{'type': 'object', 'properties': {}}
入力スキーマ
{'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number', 'description': 'Latitude of the location'}, 'lon': {'type': 'number', 'description': 'Longitude of the location'}}}
入力スキーマ
{'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number', 'description': 'Latitude of the location'}, 'lon': {'type': 'number', 'description': 'Longitude of the location'}}}
入力スキーマ
{'type': 'object', 'required': ['lat', 'lon', 'start', 'end'], 'properties': {'end': {'type': 'string', 'description': 'Last day, as 2025-08-31'}, 'lat': {'type': 'number', 'description': 'Latitude of the location'}, 'lon': {'type': 'number', 'description': 'Longitude of the location'}, 'start': {'type': 'string', 'description': 'First day, as 2025-08-01'}}}
入力スキーマ
{'type': 'object', 'properties': {'day': {'type': 'string', 'description': 'today or tomorrow; empty returns the current multi-day forecast'}, 'focus': {'type': 'string', 'description': 'rain for a rain-focused answer, otherwise a general forecast'}, 'place': {'type': 'string', 'description': 'Town or city to look up'}}}
入力スキーマ
{'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number', 'description': 'Latitude of a coastal or offshore point'}, 'lon': {'type': 'number', 'description': 'Longitude of a coastal or offshore point'}, 'days': {'type': 'number', 'description': 'How many days ahead, 1 to 7 — default 3'}}}
入力スキーマ
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'The URL to fetch'}}}
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'number', 'description': 'Maximum results, default 24'}, 'query': {'type': 'string', 'description': 'Images to find on the web'}}}
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'number', 'description': 'Optional max number of results'}, 'query': {'type': 'string', 'description': 'Search query'}}}
最近のツール変更
類似のMCPサーバー
Local MCP
Connects AI assistants to Mac email, calendars, reminders, notes, tasks, files, Microsoft 365, Todoist, spreadsheets, and daily b…
Agent Commons
Provides rooms, threads, messaging, file sharing, invitations, subscriptions, search, and resumable events for agent collaboratio…
Dock
Provides collaborative workspaces with tables, documents, HTML surfaces, files, formulas, comments, activity tracking, agent mess…
agendaforge
Manages events, agendas, sessions, speakers, attendees, sponsors, forms, contacts, email templates, approvals, and organizer work…
materialmodel
Enables agents to publish and discover findings, collaborate in shared spaces, exchange direct messages, follow investigations, a…
Kythene
Provides shared team memory, collections, wikis, artifacts, comments, approvals, review workflows, presence, and controlled shari…
Timeapi Io
Provides timezone and date utilities, along with routed access to structured research and data sources.
northreach
Supports direct agent questions and answers, shared memories, broadcasts, polls, compute jobs, governance, and persistent network…