TeamMeet

Start meetings and work with meeting transcripts, notes, recordings and follow-up tasks.

사용해야 할까요

품질 및 안전성

A
설명 품질
98%
스키마 완전성
88%
이름 품질
96%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (1)

  • LOWTool 'send_message' description lacks action verbsend_message에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,406토큰 (도구 정의)
~821 B일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.88%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "teammeet": {
      "url": "https://teammeet.ai/mcp"
    }
  }
}

원격 엔드포인트

https://teammeet.ai/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (18)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢start_meeting(mode, topics)

Start a new meeting and get its code and link. The link works in any browser with no account and no download. Nobody can join a meeting that was not started this way.

입력 스키마

{
  "type": "object",
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "meet",
        "align",
        "agenda",
        "brainstorm",
        "legal"
      ],
      "description": "What the AI in the room should do with what is said. \"meet\" keeps live notes; \"agenda\" tracks topics you supply; \"brainstorm\" draws pictures from the conversation; \"align\" runs a decision protocol; \"legal\" is a two-party call with Counsel, an AI counsel that reads the draft aloud and proposes wording both parties must accept (the host calls it in from the room). Defaults to brainstorm."
    },
    "topics": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Agenda topics, if mode is agenda."
    }
  }
}
🟢list_meetings

List the meetings this key started that are still running, with how many people are in each.

입력 스키마

{
  "type": "object",
  "properties": {}
}
🟢get_transcript(meeting, since)

The full transcript of a meeting, with who said each line. Speaker attribution here is not a guess from a mixed audio stream — each microphone is transcribed separately, so the name on a line is the connection the words arrived on.

입력 스키마

{
  "type": "object",
  "properties": {
    "meeting": {
      "type": "string",
      "description": "The meeting code, like abc-defg-hij."
    },
    "since": {
      "type": "number",
      "description": "Only lines after this epoch-ms timestamp."
    }
  },
  "required": [
    "meeting"
  ]
}
🟢get_notes(meeting)

What the room has read out of the conversation so far — decisions, open questions, actions and live disagreements. Every item carries a verbatim quote from the transcript; anything that failed that check is marked unverified rather than presented as fact.

입력 스키마

{
  "type": "object",
  "properties": {
    "meeting": {
      "type": "string"
    }
  },
  "required": [
    "meeting"
  ]
}
🟡send_message(meeting, text)

Post a message into the meeting chat, from this agent, under its own name. Everyone in the room sees it.

입력 스키마

{
  "type": "object",
  "properties": {
    "meeting": {
      "type": "string"
    },
    "text": {
      "type": "string"
    }
  },
  "required": [
    "meeting",
    "text"
  ]
}
⚪speak(meeting, text)

Say something out loud in the meeting. It is spoken through the room's speakers and joins the transcript, so it is on the record like anything else that was said. Use sparingly — this interrupts people.

입력 스키마

{
  "type": "object",
  "properties": {
    "meeting": {
      "type": "string"
    },
    "text": {
      "type": "string",
      "description": "Keep it to a sentence or two. Nobody wants to be read a paragraph."
    }
  },
  "required": [
    "meeting",
    "text"
  ]
}
🟡draw(meeting, prompt, kind)

Generate a picture from a description and put it in the meeting for everyone to see.

입력 스키마

{
  "type": "object",
  "properties": {
    "meeting": {
      "type": "string"
    },
    "prompt": {
      "type": "string"
    },
    "kind": {
      "type": "string",
      "enum": [
        "visual",
        "diagram",
        "infographic",
        "meme"
      ],
      "description": "diagram and infographic render legible labels; visual and meme are for imagery."
    }
  },
  "required": [
    "meeting",
    "prompt"
  ]
}
🟢list_recordings(meeting)

Recordings this key can see, newest first, with their share links.

입력 스키마

{
  "type": "object",
  "properties": {
    "meeting": {
      "type": "string"
    }
  }
}
🟡send_feedback(text, page, kind, expected, actual, ...)

File something you noticed about Team Meet — a bug, a confusing moment, an idea. It goes on the list the product is built from; repeats are counted and move the item up. Be specific: the page, what you expected, what happened. Set fix=true when the person wants the platform itself changed: it becomes a fix request, an AI engineer turns it into a pull request, and a person reviews it before it ships. The reply carries a link to follow it.

입력 스키마

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "What you noticed, in one or a few sentences."
    },
    "page": {
      "type": "string",
      "description": "The URL or path where you noticed it."
    },
    "kind": {
      "type": "string",
      "enum": [
        "bug",
        "idea",
        "confusing",
        "praise",
        "question"
      ]
    },
    "expected": {
      "type": "string"
    },
    "actual": {
      "type": "string"
    },
    "severity": {
      "type": "integer",
      "minimum": 1,
      "maximum": 5,
      "description": "5 = blocks the task, 1 = polish"
    },
    "fix": {
      "type": "boolean",
      "description": "true = the person wants this FIXED in the platform; it becomes a pull request."
    }
  },
  "required": [
    "text"
  ]
}
🟡submit_fix(feedback_id, text, page, title, body, ...)

Open a pull request against Team Meet: a unified diff (`git diff` output) you wrote against its source, for a fix request. Give feedback_id to attach it to an existing request (see send_feedback, or GET /api/fixes for the open ones), or give text to file the request and attach the fix in one step. Nothing is applied automatically — a person reviews and merges. Run the tests your change touches first (AGENTS.md says which) and report them.

입력 스키마

{
  "type": "object",
  "properties": {
    "feedback_id": {
      "type": "string",
      "description": "The fix request this resolves."
    },
    "text": {
      "type": "string",
      "description": "If there is no feedback_id: what is being fixed, as a person would report it."
    },
    "page": {
      "type": "string"
    },
    "title": {
      "type": "string",
      "description": "One line, like a commit subject."
    },
    "body": {
      "type": "string",
      "description": "What changed and why, and how you checked it."
    },
    "diff": {
      "type": "string",
      "description": "Unified diff against the source, with diff --git headers."
    },
    "tests": {
      "type": "object",
      "properties": {
        "command": {
          "type": "string"
        },
        "passed": {
          "type": "integer"
        },
        "failed": {
          "type": "integer"
        }
      }
    }
  },
  "required": [
    "diff"
  ]
}
🟢import_transcript(name, text, title, started_at)

Bring a meeting transcript or a chat log from another tool into the dashboard of the account this key was minted by — .vtt/.srt captions (Zoom, Google Meet, Teams, Fireflies, Grain), Otter-style text, Read AI JSON, any JSON list of turns with names and times, or the chats: Google Meet's chat log, Zoom's meeting_saved_chat.txt, a WhatsApp export. Speaker labels are kept exactly as written; a chat is filed as a chat. Returns the meeting id and link.

입력 스키마

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The file name, with its extension — it says what format this is and often carries the date."
    },
    "text": {
      "type": "string",
      "description": "The whole file as text."
    },
    "title": {
      "type": "string",
      "description": "A title for the meeting, if the file name is not one."
    },
    "started_at": {
      "type": "string",
      "description": "ISO 8601 start time, if the file does not say."
    }
  },
  "required": [
    "name",
    "text"
  ]
}
🟡send_notetaker(url, name, join_at)

Send the TeamMeet notetaker to a Zoom, Google Meet, Microsoft Teams or Webex meeting you did not host. It joins as a participant, records, and when the call ends the transcript, recap and action items land in the dashboard of the account this key was minted by. Needs a key minted while signed in. Metered in minutes per month by plan.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The meeting link."
    },
    "name": {
      "type": "string",
      "description": "What the bot is called in the call. Default \"TeamMeet notetaker\"."
    },
    "join_at": {
      "type": "string",
      "description": "ISO 8601 time to join, for a meeting later today. Omit to join now."
    }
  },
  "required": [
    "url"
  ]
}
🟢my_tasks(all)

What your calls have handed to you — the person this TeamMeet connector belongs to — to do: who asked, what they asked for, which call, and where each one has got to. Open ones first. Use get_task for the whole of one.

입력 스키마

{
  "type": "object",
  "properties": {
    "all": {
      "type": "boolean",
      "description": "Include finished and declined ones too."
    }
  }
}
🟢get_task(task)

One task handed to you from a call, in full: the words the person asked in, who they are, the lines of the call just before (each with the microphone it came in on), and any TeamMeet fix request it is about.

입력 스키마

{
  "type": "object",
  "properties": {
    "task": {
      "type": "string",
      "description": "The task id, tmt_…"
    }
  },
  "required": [
    "task"
  ]
}
🟡update_task(task, status, note, links)

Say where a task has got to. The call it came from sees it in its chat: "working" when you start, "done" with a short note and the link to what you made (a pull request, a document), or "blocked" with what you need from a person.

입력 스키마

{
  "type": "object",
  "properties": {
    "task": {
      "type": "string",
      "description": "The task id, tmt_…"
    },
    "status": {
      "type": "string",
      "enum": [
        "working",
        "done",
        "blocked"
      ]
    },
    "note": {
      "type": "string",
      "description": "Two plain sentences at most."
    },
    "links": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Links to what you made."
    }
  },
  "required": [
    "task",
    "status"
  ]
}
🔴join_meeting(meeting)

Join a TeamMeet call you are in, as your own agent — "<your name>'s Claude" appears in the call, announced in its chat, and anyone in it can remove you. Then call listen to hear it. You can only join a call the person this connector belongs to is in (signed in) or started.

입력 스키마

{
  "type": "object",
  "properties": {
    "meeting": {
      "type": "string",
      "description": "The meeting code, like abc-defg-hij, or its link."
    }
  },
  "required": [
    "meeting"
  ]
}
⚪listen(meeting, since, wait_seconds)

Wait for what happens next in a call you joined: new transcript lines with who said each (ground truth — every microphone is transcribed on its own), new chat messages, and tasks handed to you. Returns as soon as there is something, or after wait_seconds. Pass back the "next" value as since. Keep calling it to stay in the call; you leave after 90 seconds without one.

입력 스키마

{
  "type": "object",
  "properties": {
    "meeting": {
      "type": "string"
    },
    "since": {
      "type": "number",
      "description": "The \"next\" value from the last listen. Omit for the last few minutes."
    },
    "wait_seconds": {
      "type": "number",
      "description": "How long to wait for something new, up to 45. Default 25."
    }
  },
  "required": [
    "meeting"
  ]
}
🟡hand_off(meeting, to, task)

Hand a task to another person's agent, from the call you are in — they see it in the call and send it to their Claude with one press. Name the person as they appear in the call.

입력 스키마

{
  "type": "object",
  "properties": {
    "meeting": {
      "type": "string"
    },
    "to": {
      "type": "string",
      "description": "The person's name as it shows in the call."
    },
    "task": {
      "type": "string",
      "description": "What their agent should do, in plain words."
    }
  },
  "required": [
    "meeting",
    "to",
    "task"
  ]
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 18개