Skip to main content
Glama

Google Chat MCP Sever (Extendable to Teams,Slack.)

data_flow_diagram.svg38.3 kB
<?xml version="1.0" encoding="us-ascii" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="2117px" preserveAspectRatio="none" style="width:2087px;height:2117px;background:#FFFFFF;" version="1.1" viewBox="0 0 2087 2117" width="2087px" zoomAndPan="magnify"><defs/><g><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="298" x="893.75" y="27.9951">Google Chat MCP - Data Flow Diagram</text><rect fill="#FFFFFF" height="1476.8984" style="stroke:#181818;stroke-width:1.0;" width="10" x="301" y="188.9922"/><rect fill="#FFFFFF" height="1403.5" style="stroke:#181818;stroke-width:1.0;" width="10" x="511" y="218.125"/><rect fill="#FFFFFF" height="1108.5078" style="stroke:#181818;stroke-width:1.0;" width="10" x="694" y="327.7891"/><rect fill="#FFFFFF" height="862.9141" style="stroke:#181818;stroke-width:1.0;" width="10" x="939" y="544.25"/><rect fill="#FFFFFF" height="343.7266" style="stroke:#181818;stroke-width:1.0;" width="10" x="1138" y="573.3828"/><rect fill="#FFFFFF" height="369.5234" style="stroke:#181818;stroke-width:1.0;" width="10" x="1327" y="977.375"/><rect fill="#FFFFFF" height="139.9297" style="stroke:#181818;stroke-width:1.0;" width="10" x="1584" y="1006.5078"/><rect fill="#FFFFFF" height="79.3984" style="stroke:#181818;stroke-width:1.0;" width="10" x="1700" y="1761.2891"/><rect fill="#FFFFFF" height="29.1328" style="stroke:#181818;stroke-width:1.0;" width="10" x="1793" y="602.5156"/><rect fill="#FFFFFF" height="29.1328" style="stroke:#181818;stroke-width:1.0;" width="10" x="1900" y="684.9141"/><rect fill="none" height="356.3906" style="stroke:#000000;stroke-width:1.5;" width="885" x="10" y="135.5938"/><rect fill="none" height="419.125" style="stroke:#000000;stroke-width:1.5;" width="1340" x="642.5" y="505.9844"/><rect fill="none" height="242.3281" style="stroke:#000000;stroke-width:1.5;" width="894.5" x="1078" y="646.6484"/><rect fill="none" height="415.7891" style="stroke:#000000;stroke-width:1.5;" width="1094.5" x="883.5" y="939.1094"/><rect fill="none" height="304.9922" style="stroke:#000000;stroke-width:1.5;" width="994.5" x="10" y="1368.8984"/><rect fill="none" height="296.9922" style="stroke:#000000;stroke-width:1.5;" width="691" x="1283" y="1723.0234"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="39" x2="39" y1="118.5938" y2="2037.0156"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="305.5" x2="305.5" y1="118.5938" y2="2037.0156"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="516" x2="516" y1="118.5938" y2="2037.0156"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="698.5" x2="698.5" y1="118.5938" y2="2037.0156"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="943.5" x2="943.5" y1="118.5938" y2="2037.0156"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="1143" x2="1143" y1="118.5938" y2="2037.0156"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="1332" x2="1332" y1="118.5938" y2="2037.0156"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="1588.5" x2="1588.5" y1="118.5938" y2="2037.0156"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="1704.5" x2="1704.5" y1="118.5938" y2="2037.0156"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="1797.5" x2="1797.5" y1="118.5938" y2="2037.0156"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="1904.5" x2="1904.5" y1="118.5938" y2="2037.0156"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="2026.5" x2="2026.5" y1="118.5938" y2="2037.0156"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="32" x="20" y="115.292">User</text><ellipse cx="39" cy="50.7969" fill="#E2E2F0" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><path d="M39,58.7969 L39,85.7969 M26,66.7969 L52,66.7969 M39,85.7969 L26,100.7969 M39,85.7969 L52,100.7969 " fill="none" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="32" x="20" y="2049.0107">User</text><ellipse cx="39" cy="2060.8125" fill="#E2E2F0" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><path d="M39,2068.8125 L39,2095.8125 M26,2076.8125 L52,2076.8125 M39,2095.8125 L26,2110.8125 M39,2095.8125 L52,2110.8125 " fill="none" style="stroke:#181818;stroke-width:0.5;"/><rect fill="#FEFEFE" height="30.2969" rx="2.5" ry="2.5" style="stroke:#999999;stroke-width:0.5;" width="93" x="259.5" y="87.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="79" x="266.5" y="107.292">AI Assistant</text><rect fill="#FEFEFE" height="30.2969" rx="2.5" ry="2.5" style="stroke:#999999;stroke-width:0.5;" width="93" x="259.5" y="2036.0156"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="79" x="266.5" y="2056.0107">AI Assistant</text><rect fill="#FEFEFE" height="30.2969" rx="2.5" ry="2.5" style="stroke:#999999;stroke-width:0.5;" width="88" x="472" y="87.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="74" x="479" y="107.292">MCP Client</text><rect fill="#FEFEFE" height="30.2969" rx="2.5" ry="2.5" style="stroke:#999999;stroke-width:0.5;" width="88" x="472" y="2036.0156"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="74" x="479" y="2056.0107">MCP Client</text><rect fill="#FEFEFE" height="30.2969" rx="2.5" ry="2.5" style="stroke:#999999;stroke-width:0.5;" width="93" x="652.5" y="87.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="79" x="659.5" y="107.292">MCP Server</text><rect fill="#FEFEFE" height="30.2969" rx="2.5" ry="2.5" style="stroke:#999999;stroke-width:0.5;" width="93" x="652.5" y="2036.0156"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="79" x="659.5" y="2056.0107">MCP Server</text><rect fill="#FEFEFE" height="30.2969" rx="2.5" ry="2.5" style="stroke:#999999;stroke-width:0.5;" width="101" x="893.5" y="87.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="87" x="900.5" y="107.292">Tool Handler</text><rect fill="#FEFEFE" height="30.2969" rx="2.5" ry="2.5" style="stroke:#999999;stroke-width:0.5;" width="101" x="893.5" y="2036.0156"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="87" x="900.5" y="2056.0107">Tool Handler</text><rect fill="#FEFEFE" height="30.2969" rx="2.5" ry="2.5" style="stroke:#999999;stroke-width:0.5;" width="110" x="1088" y="87.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="96" x="1095" y="107.292">Auth Manager</text><rect fill="#FEFEFE" height="30.2969" rx="2.5" ry="2.5" style="stroke:#999999;stroke-width:0.5;" width="110" x="1088" y="2036.0156"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="96" x="1095" y="2056.0107">Auth Manager</text><rect fill="#FEFEFE" height="30.2969" rx="2.5" ry="2.5" style="stroke:#999999;stroke-width:0.5;" width="78" x="1293" y="87.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="64" x="1300" y="107.292">API Client</text><rect fill="#FEFEFE" height="30.2969" rx="2.5" ry="2.5" style="stroke:#999999;stroke-width:0.5;" width="78" x="1293" y="2036.0156"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="64" x="1300" y="2056.0107">API Client</text><rect fill="#FEFEFE" height="30.2969" rx="2.5" ry="2.5" style="stroke:#999999;stroke-width:0.5;" width="125" x="1526.5" y="87.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="111" x="1533.5" y="107.292">Google Chat API</text><rect fill="#FEFEFE" height="30.2969" rx="2.5" ry="2.5" style="stroke:#999999;stroke-width:0.5;" width="125" x="1526.5" y="2036.0156"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="111" x="1533.5" y="2056.0107">Google Chat API</text><rect fill="#FEFEFE" height="30.2969" rx="2.5" ry="2.5" style="stroke:#999999;stroke-width:0.5;" width="87" x="1661.5" y="87.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="73" x="1668.5" y="107.292">People API</text><rect fill="#FEFEFE" height="30.2969" rx="2.5" ry="2.5" style="stroke:#999999;stroke-width:0.5;" width="87" x="1661.5" y="2036.0156"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="73" x="1668.5" y="2056.0107">People API</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="73" x="1758.5" y="115.292">token.json</text><path d="M1780,66.2969 C1780,56.2969 1798,56.2969 1798,56.2969 C1798,56.2969 1816,56.2969 1816,66.2969 L1816,92.2969 C1816,102.2969 1798,102.2969 1798,102.2969 C1798,102.2969 1780,102.2969 1780,92.2969 L1780,66.2969 " fill="#ECECEC" style="stroke:#666666;stroke-width:1.5;"/><path d="M1780,66.2969 C1780,76.2969 1798,76.2969 1798,76.2969 C1798,76.2969 1816,76.2969 1816,66.2969 " fill="none" style="stroke:#666666;stroke-width:1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="73" x="1758.5" y="2049.0107">token.json</text><path d="M1780,2062.3125 C1780,2052.3125 1798,2052.3125 1798,2052.3125 C1798,2052.3125 1816,2052.3125 1816,2062.3125 L1816,2088.3125 C1816,2098.3125 1798,2098.3125 1798,2098.3125 C1798,2098.3125 1780,2098.3125 1780,2088.3125 L1780,2062.3125 " fill="#ECECEC" style="stroke:#666666;stroke-width:1.5;"/><path d="M1780,2062.3125 C1780,2072.3125 1798,2072.3125 1798,2072.3125 C1798,2072.3125 1816,2072.3125 1816,2062.3125 " fill="none" style="stroke:#666666;stroke-width:1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="109" x="1847.5" y="115.292">credentials.json</text><path d="M1887,66.2969 C1887,56.2969 1905,56.2969 1905,56.2969 C1905,56.2969 1923,56.2969 1923,66.2969 L1923,92.2969 C1923,102.2969 1905,102.2969 1905,102.2969 C1905,102.2969 1887,102.2969 1887,92.2969 L1887,66.2969 " fill="#ECECEC" style="stroke:#666666;stroke-width:1.5;"/><path d="M1887,66.2969 C1887,76.2969 1905,76.2969 1905,76.2969 C1905,76.2969 1923,76.2969 1923,66.2969 " fill="none" style="stroke:#666666;stroke-width:1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="109" x="1847.5" y="2049.0107">credentials.json</text><path d="M1887,2062.3125 C1887,2052.3125 1905,2052.3125 1905,2052.3125 C1905,2052.3125 1923,2052.3125 1923,2062.3125 L1923,2088.3125 C1923,2098.3125 1905,2098.3125 1905,2098.3125 C1905,2098.3125 1887,2098.3125 1887,2088.3125 L1887,2062.3125 " fill="#ECECEC" style="stroke:#666666;stroke-width:1.5;"/><path d="M1887,2062.3125 C1887,2072.3125 1905,2072.3125 1905,2072.3125 C1905,2072.3125 1923,2072.3125 1923,2062.3125 " fill="none" style="stroke:#666666;stroke-width:1.5;"/><rect fill="#FEFEFE" height="30.2969" rx="2.5" ry="2.5" style="stroke:#999999;stroke-width:0.5;" width="109" x="1972.5" y="87.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="95" x="1979.5" y="107.292">User Info Tool</text><rect fill="#FEFEFE" height="30.2969" rx="2.5" ry="2.5" style="stroke:#999999;stroke-width:0.5;" width="109" x="1972.5" y="2036.0156"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="95" x="1979.5" y="2056.0107">User Info Tool</text><rect fill="#FFFFFF" height="1476.8984" style="stroke:#181818;stroke-width:1.0;" width="10" x="301" y="188.9922"/><rect fill="#FFFFFF" height="1403.5" style="stroke:#181818;stroke-width:1.0;" width="10" x="511" y="218.125"/><rect fill="#FFFFFF" height="1108.5078" style="stroke:#181818;stroke-width:1.0;" width="10" x="694" y="327.7891"/><rect fill="#FFFFFF" height="862.9141" style="stroke:#181818;stroke-width:1.0;" width="10" x="939" y="544.25"/><rect fill="#FFFFFF" height="343.7266" style="stroke:#181818;stroke-width:1.0;" width="10" x="1138" y="573.3828"/><rect fill="#FFFFFF" height="369.5234" style="stroke:#181818;stroke-width:1.0;" width="10" x="1327" y="977.375"/><rect fill="#FFFFFF" height="139.9297" style="stroke:#181818;stroke-width:1.0;" width="10" x="1584" y="1006.5078"/><rect fill="#FFFFFF" height="79.3984" style="stroke:#181818;stroke-width:1.0;" width="10" x="1700" y="1761.2891"/><rect fill="#FFFFFF" height="29.1328" style="stroke:#181818;stroke-width:1.0;" width="10" x="1793" y="602.5156"/><rect fill="#FFFFFF" height="29.1328" style="stroke:#181818;stroke-width:1.0;" width="10" x="1900" y="684.9141"/><path d="M10,135.5938 L193,135.5938 L193,142.7266 L183,152.7266 L10,152.7266 L10,135.5938 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="356.3906" style="stroke:#000000;stroke-width:1.5;" width="885" x="10" y="135.5938"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="138" x="25" y="148.6606">User Request Flow</text><polygon fill="#181818" points="289,184.9922,299,188.9922,289,192.9922,293,188.9922" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;" x1="39" x2="295" y1="188.9922" y2="188.9922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="179" x="80.5" y="168.7935">1. Natural language request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="197" x="71.5" y="183.9263">"Send a message to my team"</text><polygon fill="#181818" points="499,214.125,509,218.125,499,222.125,503,218.125" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;" x1="311" x2="505" y1="218.125" y2="218.125"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="135" x="343.5" y="213.0591">2. Resolve to tool call</text><path d="M316,231.125 L316,301.125 L628,301.125 L628,241.125 L618,231.125 L316,231.125 " fill="#FFF9C4" style="stroke:#999999;stroke-width:0.5;"/><path d="M618,231.125 L618,241.125 L628,241.125 L618,231.125 " fill="#FFF9C4" style="stroke:#999999;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="225" x="322" y="248.1919">AI identifies intent and parameters:</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="291" x="322" y="263.3247">- Tool: mcp_google_chat_send_message_tool</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="235" x="322" y="278.4575">- space_name: "spaces/AAQAXL5fJxI"</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="233" x="322" y="293.5903">- text: "Hello team, meeting at 3pm"</text><polygon fill="#181818" points="682,323.7891,692,327.7891,682,331.7891,686,327.7891" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;" x1="521" x2="688" y1="327.7891" y2="327.7891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="131" x="542" y="322.7231">3. JSON-RPC request</text><path d="M526,340.7891 L526,486.7891 L885,486.7891 L885,350.7891 L875,340.7891 L526,340.7891 " fill="#FFF9C4" style="stroke:#999999;stroke-width:0.5;"/><path d="M875,340.7891 L875,350.7891 L885,350.7891 L875,340.7891 " fill="#FFF9C4" style="stroke:#999999;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="532" y="357.856">{</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="98" x="540" y="372.9888">"jsonrpc": "2.0",</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="330" x="540" y="388.1216">"method": "mcp_google_chat_send_message_tool",</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="75" x="540" y="403.2544">"params": {</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="240" x="548" y="418.3872">"space_name": "spaces/AAQAXL5fJxI",</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="234" x="548" y="433.52">"text": "Hello team, meeting at 3pm"</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="12" x="540" y="448.6528">},</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="97" x="540" y="463.7856">"id": "call-1234"</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="532" y="478.9185">}</text><path d="M642.5,505.9844 L833.5,505.9844 L833.5,513.1172 L823.5,523.1172 L642.5,523.1172 L642.5,505.9844 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="419.125" style="stroke:#000000;stroke-width:1.5;" width="1340" x="642.5" y="505.9844"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="146" x="657.5" y="519.0513">Authentication Flow</text><polygon fill="#181818" points="927,540.25,937,544.25,927,548.25,931,544.25" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;" x1="704" x2="933" y1="544.25" y2="544.25"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="216" x="713.5" y="539.1841">4. Forward to tool implementation</text><polygon fill="#181818" points="1126,569.3828,1136,573.3828,1126,577.3828,1130,573.3828" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;" x1="949" x2="1132" y1="573.3828" y2="573.3828"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="142" x="972.5" y="568.3169">5. Request credentials</text><polygon fill="#181818" points="1781,598.5156,1791,602.5156,1781,606.5156,1785,602.5156" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;" x1="1148" x2="1787" y1="602.5156" y2="602.5156"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="177" x="1382" y="597.4497">6. Read stored OAuth token</text><polygon fill="#181818" points="1159,627.6484,1149,631.6484,1159,635.6484,1155,631.6484" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;stroke-dasharray:2.0,2.0;" x1="1153" x2="1797" y1="631.6484" y2="631.6484"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="115" x="1415.5" y="626.5825">Return token data</text><path d="M1078,646.6484 L1142,646.6484 L1142,653.7813 L1132,663.7813 L1078,663.7813 L1078,646.6484 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="242.3281" style="stroke:#000000;stroke-width:1.5;" width="894.5" x="1078" y="646.6484"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="19" x="1093" y="659.7153">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="116" x="1157" y="658.8589">[Token is expired]</text><polygon fill="#181818" points="1888,680.9141,1898,684.9141,1888,688.9141,1892,684.9141" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;" x1="1148" x2="1894" y1="684.9141" y2="684.9141"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="168" x="1440" y="679.8481">7a. Read client credentials</text><polygon fill="#181818" points="1159,710.0469,1149,714.0469,1159,718.0469,1155,714.0469" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;stroke-dasharray:2.0,2.0;" x1="1153" x2="1904" y1="714.0469" y2="714.0469"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="141" x="1456" y="708.981">Return client ID/secret</text><line style="stroke:#181818;stroke-width:1.5;" x1="1148" x2="1190" y1="743.1797" y2="743.1797"/><line style="stroke:#181818;stroke-width:1.5;" x1="1190" x2="1190" y1="743.1797" y2="756.1797"/><line style="stroke:#181818;stroke-width:1.5;" x1="1149" x2="1190" y1="756.1797" y2="756.1797"/><polygon fill="#181818" points="1159,752.1797,1149,756.1797,1159,760.1797,1155,756.1797" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="165" x="1155" y="738.1138">8a. Request token refresh</text><path d="M1153,769.1797 L1153,854.1797 L1447,854.1797 L1447,779.1797 L1437,769.1797 L1153,769.1797 " fill="#FFF9C4" style="stroke:#999999;stroke-width:0.5;"/><path d="M1437,769.1797 L1437,779.1797 L1447,779.1797 L1437,769.1797 " fill="#FFF9C4" style="stroke:#999999;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="273" x="1159" y="786.2466">POST https://oauth2.googleapis.com/token</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="168" x="1159" y="801.3794">grant_type=refresh_token</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="239" x="1159" y="816.5122">refresh_token=[stored refresh token]</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="124" x="1159" y="831.645">client_id=[client ID]</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="180" x="1159" y="846.7778">client_secret=[client secret]</text><polygon fill="#181818" points="1786,876.9766,1796,880.9766,1786,884.9766,1790,880.9766" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;" x1="1148" x2="1792" y1="880.9766" y2="880.9766"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="156" x="1395" y="875.9106">9a. Update stored token</text><polygon fill="#181818" points="960,913.1094,950,917.1094,960,921.1094,956,917.1094" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;stroke-dasharray:2.0,2.0;" x1="954" x2="1142" y1="917.1094" y2="917.1094"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="165" x="963.5" y="912.0435">7. Return valid credentials</text><path d="M883.5,939.1094 L1036.5,939.1094 L1036.5,946.2422 L1026.5,956.2422 L883.5,956.2422 L883.5,939.1094 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="415.7891" style="stroke:#000000;stroke-width:1.5;" width="1094.5" x="883.5" y="939.1094"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="108" x="898.5" y="952.1763">API Interaction</text><polygon fill="#181818" points="1315,973.375,1325,977.375,1315,981.375,1319,977.375" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;" x1="949" x2="1321" y1="977.375" y2="977.375"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="97" x="1089.5" y="972.3091">8. Call Chat API</text><polygon fill="#181818" points="1572,1002.5078,1582,1006.5078,1572,1010.5078,1576,1006.5078" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;" x1="1337" x2="1578" y1="1006.5078" y2="1006.5078"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="228" x="1346.5" y="1001.4419">9. Send API request with auth token</text><path d="M1342,1019.5078 L1342,1119.5078 L1814,1119.5078 L1814,1029.5078 L1804,1019.5078 L1342,1019.5078 " fill="#FFF9C4" style="stroke:#999999;stroke-width:0.5;"/><path d="M1804,1019.5078 L1804,1029.5078 L1814,1029.5078 L1804,1019.5078 " fill="#FFF9C4" style="stroke:#999999;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="451" x="1348" y="1036.5747">POST https://chat.googleapis.com/v1/spaces/{spaceName}/messages</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="203" x="1348" y="1051.7075">Authorization: Bearer ya29.a0...</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="4" x="1348" y="1066.8403">&#160;</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1348" y="1081.9731">{</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="234" x="1356" y="1097.106">"text": "Hello team, meeting at 3pm"</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1348" y="1112.2388">}</text><polygon fill="#181818" points="1348,1142.4375,1338,1146.4375,1348,1150.4375,1344,1146.4375" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;stroke-dasharray:2.0,2.0;" x1="1342" x2="1588" y1="1146.4375" y2="1146.4375"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="153" x="1386.5" y="1141.3716">10. Return API response</text><path d="M1594,1159.4375 L1594,1320.4375 L1968,1320.4375 L1968,1169.4375 L1958,1159.4375 L1594,1159.4375 " fill="#FFF9C4" style="stroke:#999999;stroke-width:0.5;"/><path d="M1958,1159.4375 L1958,1169.4375 L1968,1169.4375 L1958,1159.4375 " fill="#FFF9C4" style="stroke:#999999;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1600" y="1176.5044">{</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="345" x="1608" y="1191.6372">"name": "spaces/AAQAXL5fJxI/messages/ABCDEF123",</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="70" x="1608" y="1206.77">"sender": {</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="148" x="1616" y="1221.9028">"name": "users/12345",</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="190" x="1616" y="1237.0356">"displayName": "AI Assistant",</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="99" x="1616" y="1252.1685">"avatarUrl": "..."</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="12" x="1608" y="1267.3013">},</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="238" x="1608" y="1282.4341">"text": "Hello team, meeting at 3pm",</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="247" x="1608" y="1297.5669">"createTime": "2023-05-10T10:15:30Z"</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1600" y="1312.6997">}</text><polygon fill="#181818" points="960,1342.8984,950,1346.8984,960,1350.8984,956,1346.8984" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;stroke-dasharray:2.0,2.0;" x1="954" x2="1331" y1="1346.8984" y2="1346.8984"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="130" x="1075.5" y="1341.8325">11. Return API result</text><path d="M10,1368.8984 L166,1368.8984 L166,1376.0313 L156,1386.0313 L10,1386.0313 L10,1368.8984 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="304.9922" style="stroke:#000000;stroke-width:1.5;" width="994.5" x="10" y="1368.8984"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="111" x="25" y="1381.9653">Response Flow</text><polygon fill="#181818" points="715,1403.1641,705,1407.1641,715,1411.1641,711,1407.1641" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;stroke-dasharray:2.0,2.0;" x1="709" x2="943" y1="1407.1641" y2="1407.1641"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="174" x="737" y="1402.0981">12. Return formatted result</text><polygon fill="#181818" points="532,1432.2969,522,1436.2969,532,1440.2969,528,1436.2969" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;stroke-dasharray:2.0,2.0;" x1="526" x2="698" y1="1436.2969" y2="1436.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="149" x="535.5" y="1431.231">13. JSON-RPC response</text><path d="M312,1449.2969 L312,1595.2969 L694,1595.2969 L694,1459.2969 L684,1449.2969 L312,1449.2969 " fill="#FFF9C4" style="stroke:#999999;stroke-width:0.5;"/><path d="M684,1449.2969 L684,1459.2969 L694,1459.2969 L684,1449.2969 " fill="#FFF9C4" style="stroke:#999999;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="318" y="1466.3638">{</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="98" x="326" y="1481.4966">"jsonrpc": "2.0",</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="62" x="326" y="1496.6294">"result": {</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="345" x="334" y="1511.7622">"name": "spaces/AAQAXL5fJxI/messages/ABCDEF123",</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="238" x="334" y="1526.895">"text": "Hello team, meeting at 3pm",</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="247" x="334" y="1542.0278">"createTime": "2023-05-10T10:15:30Z"</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="12" x="326" y="1557.1606">},</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="97" x="326" y="1572.2935">"id": "call-1234"</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="318" y="1587.4263">}</text><polygon fill="#181818" points="322,1617.625,312,1621.625,322,1625.625,318,1621.625" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;stroke-dasharray:2.0,2.0;" x1="316" x2="515" y1="1621.625" y2="1621.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="176" x="325.5" y="1616.5591">14. Return structured result</text><polygon fill="#181818" points="50,1661.8906,40,1665.8906,50,1669.8906,46,1665.8906" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;stroke-dasharray:2.0,2.0;" x1="44" x2="305" y1="1665.8906" y2="1665.8906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="197" x="74" y="1645.6919">15. Natural language response</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="238" x="53.5" y="1660.8247">"I've sent your message to the team"</text><path d="M5,1685.8906 L5,1710.8906 L2061,1710.8906 L2061,1695.8906 L2051,1685.8906 L5,1685.8906 " fill="#FFF9C4" style="stroke:#999999;stroke-width:0.5;"/><path d="M2051,1685.8906 L2051,1695.8906 L2061,1695.8906 L2051,1685.8906 " fill="#FFF9C4" style="stroke:#999999;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="276" x="890.75" y="1702.9575">Alternative flow for getting user information</text><path d="M1283,1723.0234 L1530,1723.0234 L1530,1730.1563 L1520,1740.1563 L1283,1740.1563 L1283,1723.0234 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="296.9922" style="stroke:#000000;stroke-width:1.5;" width="691" x="1283" y="1723.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="202" x="1298" y="1736.0903">User Info Flow (Alternative)</text><polygon fill="#181818" points="1688,1757.2891,1698,1761.2891,1688,1765.2891,1692,1761.2891" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;" x1="1332" x2="1694" y1="1761.2891" y2="1761.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="152" x="1440" y="1756.2231">A1. Request user profile</text><path d="M1337,1774.2891 L1337,1814.2891 L1671,1814.2891 L1671,1784.2891 L1661,1774.2891 L1337,1774.2891 " fill="#FFF9C4" style="stroke:#999999;stroke-width:0.5;"/><path d="M1661,1774.2891 L1661,1784.2891 L1671,1784.2891 L1661,1774.2891 " fill="#FFF9C4" style="stroke:#999999;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="313" x="1343" y="1791.356">GET https://people.googleapis.com/v1/people/me</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="203" x="1343" y="1806.4888">Authorization: Bearer ya29.a0...</text><polygon fill="#181818" points="1343,1836.6875,1333,1840.6875,1343,1844.6875,1339,1840.6875" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.5;stroke-dasharray:2.0,2.0;" x1="1337" x2="1704" y1="1840.6875" y2="1840.6875"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="175" x="1431" y="1835.6216">A2. Return user profile data</text><path d="M1710,1853.6875 L1710,2014.6875 L1964,2014.6875 L1964,1863.6875 L1954,1853.6875 L1710,1853.6875 " fill="#FFF9C4" style="stroke:#999999;stroke-width:0.5;"/><path d="M1954,1853.6875 L1954,1863.6875 L1964,1863.6875 L1954,1853.6875 " fill="#FFF9C4" style="stroke:#999999;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1716" y="1870.7544">{</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="75" x="1724" y="1885.8872">"names": [{</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="172" x="1732" y="1901.02">"displayName": "John Doe",</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="132" x="1732" y="1916.1528">"givenName": "John",</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="131" x="1732" y="1931.2856">"familyName": "Doe"</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="17" x="1724" y="1946.4185">}],</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="133" x="1724" y="1961.5513">"emailAddresses": [{</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="217" x="1732" y="1976.6841">"value": "john.doe@example.com"</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="13" x="1724" y="1991.8169">}]</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1716" y="2006.9497">}</text><!--SRC=[dLXjRzis4FxkNt7pFdG3QlabSRiOo33LiLDtJPhc1HZM5GOdqJORMTH8EYyByjztf6I9fEGq6GqablZmUBnxxeL-1SUSBnCAunLHS38-WmuS4KLWcl1RE69aASYwrVeXfWkMKhYOVBwQd8udywDPU7mUdhJaDKipWXYGz9yDJIDwGgKaInecR9b2H5D5HGCg58BVNgvOT9qY7lh1i6MX7bg0uns9hfU2Rz9up1Cku7R553KpPqGe5h6CfCe7_JYTw4yDnaLCHG4vCCD0p1zzuB-9f3LPax7-k1XRq1ipAa6dNDM5JAVJW_5-DT-WYPdyo1Rq8nhP0OpDSETtQFdOQYccq9NFykWh-9tU0uaK5n986aF4rnbFqL-oPTv2-qfIqGOYOODVMbbbJ6Y7CmYbP5BXau6GxPEBqzkF4qOBr3hAvf5vhCCkgBWfzjCmQHvTs2Nd2Rn7PPC2gF35V9M_y1JSg1MSa1IPc4C9lfYlynSUz6ncwqWorgYZRLLSOh0HFinnWOiyepn3v1QKcKS3YmiIGLlnQve6toHFYuFWutp14cfX8a5ZL8EHH5P8_LBcIFJXeHvmjjBu_WYqn-1SXvXKkRyDeANfajLd3QsqSw7pQ-L1664umYbH6q4II4YwtA3HGEGB_qhR5nJfGc2T1phg3kjxK9IisqOWieVT44KjJfG1Kcs2ErPim2q70QecUN9Z16h7GaIIn9LeyKU_Jp6SGB3bIW5VUDlfWInbne8BHYKmJ4MubUQwoJ8KCvCSbU0EQ7gDp1vBu-kvSQ_4qywBiywrNjOAcP68pbEKDOAsUP3TCFmS_l5nkFXmDsjRK4Nl58BUqoJXnbYlqO1KiNG9IAYzh32UDgq-LcKooqg5pVBGG9lj1V3XujDfv_nil7LFtLv58DNjvHbJZuVo6q1RKqvaKHkr7WIzzcjx3estuh6U-gwvt8N6yX8Nsbj1OJnZoNQpAL-xU6tEzZFicOz7HmTc5DViwlG7U_iLyD5r0NxnOsmm0frPDASYeXXFwr7MC5_wiV0S-j7ENEZ9_G2cNDmI4PViPslC6ckKPEIuVdNoNiaKHwQEQ2lbuHx3e0n-AxDu8MjdoIfgRK56-MssGh5lj5WIWyIQGMFuP3AlGVWwboakLxQKqQdhUaun-wGv27H6D6jYkajQlbMYC8Rr2YQ1tcKCzIbzwv-XogEutLjI7A88DDy-pa6i3BoTiuJjFamXUtRKbHGNL55d7Qj1ziuJUBlyGYh_vdOJT26eN9K2l7JfktexpZvTNC9AgKoEkbskOOCWZt0iOJB0Fg5RkNSxiAb8rLpTP_Ims7PU1papXryAnXHlSwM_EWjoayrPVFYbj5uZ8hTeYSeVAwIJLPyqgaFj0pJfLHPhnnIwLcVIoM57WDJ3-ssm9S4DILXSuvV50CSj3HbeRwGR2vZflbelmXJZP1zthZalb1sEfaq0Oyo4PL_ZvOEg6QeEMotNSLIqGDfS0PZMGEjGb2EuPPWDo8wKKBPF3UnqDwxnKY_rMNdJxnQ5uy7yFyLgyjWjQb4Lo3f1SS7-DNbr1Eye4MYNUp8u24Wl288wIPoo-9BAyxYZffT6w_ZkwFTAgkHcbDYKI-gpv0dBELCrxNTNsD9GtV3T-6WonTBebcvTsR6PhfNkhKZTICgkhgX3lrh7J6O9kJyjaCxjmOCIF1yHLoBHGFJ6xZB-34SuU0mwDDqbotKOz0PxdTwmq-zTzdkZ_d2qr_lp-uwpkLyFytxVTzucKRK0hvZT4DxxkbpaFg-t5ivCGsZx_M5_KEgpu69Db3Bfjachvex2xbdyXhtlTf_DF6rgG1EwAFjFQ-v5_MT-YDrSV3czNqwe5rBg_tQXZHS1_xwsNpfQAh69yDjEJtjjltyjGydcHeX2XustmDpHU0sSlSAxcjJgtFEDiA-3s01Rzq6R- -KLpQ5-c631IZ4VtnIadzmHtVqMv3Ui8P7WKeuSx49ZaTcmfCfuoMZEqfpiklpPDzyPli_5_sG9-TdewDpVAxI-4PQ_W5INluOoM5toqN9Xlsh5Z4gPu6LFLnh3-btWMVNlU5ALltnjGm7C9v3iBojtTRPP1weLgR3AA_Rn6Xlr9q_fJJPMAtrP_FBmP3tvm5Sf777gX-SI_PlQ81-m86kMb6Aq13jSlphnIjU49M4SOmJ8HgMmjTiOETzmfo3cz3UQqrZxnXNyr8tpFm00]--></g></svg>

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/siva010928/multi-chat-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server