modelcontextprotocol / modelcontextprotocol/python-sdk
Add conveniences for MCP proxy pattern
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 24.3k
- Fork
- 4k
- Merge medio
- 1g 1h
- PR unite (30g)
- 31
Descrizione
TypeScript example, but should also be portable to our Python SDK:
export function mcpProxy({
transportToClient,
transportToServer,
onerror,
}: {
transportToClient: Transport;
transportToServer: Transport;
onerror: (error: Error) => void;
}) {
transportToClient.onmessage = (message) => {
transportToServer.send(message).catch(onerror);
};
transportToServer.onmessage = (message) => {
transportToClient.send(message).catch(onerror);
};
transportToClient.onclose = () => {
transportToServer.close().catch(onerror);
};
transportToServer.onclose = () => {
transportToClient.close().catch(onerror);
};
transportToClient.onerror = onerror;
transportToServer.onerror = onerror;
}
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia individuando le astrazioni di trasporto del Python SDK e i punti di ingresso del client o del server in cui potrebbe essere esposto un proxy, quindi confrontali con l'esempio TypeScript nell'issue. L'implementazione completata dovrebbe fornire un inoltro bidirezionale dei messaggi equivalente, la gestione degli errori e la propagazione della chiusura, e i test Python pertinenti dovrebbero essere aggiornati o aggiunti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python, typescript
- Ambito
- api, backend-api-design
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 35/100