Executar o servidor com stdio
Inicie o servidor para que um cliente possa se conectar localmente.
Executar o servidor com stdio é uma aula grátis de MCP Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de MCP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de MCP Academy inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
Time to Start It Up
You have a server object and a tool. Now you need to actually run it so a client can connect and use what you built. 🏃
What stdio Means
The simplest transport is stdio: standard input and output. The client launches your script and talks to it through those two streams.
Call run()
Starting the server is one method. Calling mcp.run() hands control to FastMCP, which begins listening for messages right away.
mcp.run()Choose the Transport
Pass a transport argument to be explicit. For local use you want "stdio", which is also the default when you call run.
mcp.run(transport="stdio")The Main Guard
Wrap the call in the classic __main__ guard. That way the server starts only when the file is run directly, not when imported.
if __name__ == "__main__":
mcp.run()The Whole File
Here is a complete server: import, instance, tool, and run. Just a handful of lines and it speaks MCP.
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("demo")
@mcp.tool()
def hello() -> str:
return "Hi!"
if __name__ == "__main__":
mcp.run()stdout Is Reserved
One golden rule: never print to standard output. That stream carries protocol messages, and stray text will corrupt them.
Log to stderr Instead
Need to debug? Write to stderr, not stdout. The client ignores stderr, so your notes stay out of the protocol stream.
import sys
print("starting up", file=sys.stderr)The Client Launches You
With stdio, you rarely run the script by hand. The host app starts your process for you using a configured command.
It Waits, Not Loops Idle
After run() the server blocks, waiting for messages. It isn't frozen; it's listening for the next request from the client.
stdio Is Local Only
Remember that stdio works only on the same machine, since it relies on a launched process. Remote servers use HTTP transport instead, which comes later.
Quick Check
Why must you avoid plain print() in a stdio server?
Recap
You ran the server with mcp.run() over stdio, guarded it with __main__, and kept stdout clean. It's live and listening. Let's confirm it works! ✅
Perguntas Frequentes
A aula “Executar o servidor com stdio” é grátis?
Sim — o texto completo de “Executar o servidor com stdio” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de MCP Academy, atualize para CoddyKit PRO. O curso de MCP Academy inclui 4 aulas no total.
O que vou aprender em “Executar o servidor com stdio”?
Inicie o servidor para que um cliente possa se conectar localmente. Você pratica MCP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar MCP Academy?
Nenhuma experiência prévia é necessária. MCP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Executar o servidor com stdio”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de MCP Academy?
Sim. Cada aula de MCP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Criar uma instância FastMCP
- Adicionar uma ferramenta Hello
- Executar o servidor com stdio
- Confirmar carregamento e listagem das ferramentas