Põhiline Kalkulaatori MCP Teenus
See teenus pakub põhilisi kalkulaatori operatsioone Model Context Protocoli (MCP) kaudu, kasutades Spring Booti koos WebFlux transpordiga. Teenus on loodud lihtsa näitena algajatele, kes õpivad MCP rakendusi.
Lisateabe saamiseks vaadake MCP Server Boot Starter viitedokumentatsiooni.
Ülevaade
Teenus demonstreerib:
- SSE (Server-Sent Events) tuge
- Automaatset tööriistade registreerimist Spring AI
@Toolannotatsiooni abil - Põhilisi kalkulaatori funktsioone:
- Liitmine, lahutamine, korrutamine, jagamine
- Astendamine ja ruutjuur
- Modulus (jääk) ja absoluutväärtus
- Abi funktsioon operatsioonide kirjelduste jaoks
Funktsioonid
See kalkulaatori teenus pakub järgmisi võimalusi:
-
Põhilised aritmeetilised operatsioonid:
- Kahe arvu liitmine
- Ühe arvu lahutamine teisest
- Kahe arvu korrutamine
- Ühe arvu jagamine teisega (nulliga jagamise kontrolliga)
-
Täiustatud operatsioonid:
- Astendamine (baasi tõstmine eksponendini)
- Ruutjuure arvutamine (negatiivse arvu kontrolliga)
- Modulus (jäägi) arvutamine
- Absoluutväärtuse arvutamine
-
Abi süsteem:
- Sisseehitatud abi funktsioon, mis selgitab kõiki saadaolevaid operatsioone
Teenuse kasutamine
Teenus pakub järgmisi API lõpp-punkte MCP protokolli kaudu:
add(a, b): Kahe arvu liitminesubtract(a, b): Teise arvu lahutamine esimesestmultiply(a, b): Kahe arvu korrutaminedivide(a, b): Esimese arvu jagamine teisega (nulliga jagamise kontrolliga)power(base, exponent): Arvu astendaminesquareRoot(number): Ruutjuure arvutamine (negatiivse arvu kontrolliga)modulus(a, b): Jäägi arvutamine jagamiselabsolute(number): Absoluutväärtuse arvutaminehelp(): Teave saadaolevate operatsioonide kohta
Testklient
Lihtne testklient on kaasatud com.microsoft.mcp.sample.client paketti. SampleCalculatorClient klass demonstreerib kalkulaatori teenuse saadaolevaid operatsioone.
LangChain4j kliendi kasutamine
Projekt sisaldab LangChain4j näiteklienti com.microsoft.mcp.sample.client.LangChain4jClient paketis, mis näitab, kuidas integreerida kalkulaatori teenust LangChain4j ja GitHubi mudelitega:
Eeltingimused
-
GitHubi tokeni seadistamine:
GitHubi AI mudelite (näiteks phi-4) kasutamiseks vajate GitHubi isiklikku juurdepääsutokenit:
a. Minge oma GitHubi konto seadistustesse: https://github.com/settings/tokens
b. Klõpsake "Generate new token" → "Generate new token (classic)"
c. Andke oma tokenile kirjeldav nimi
d. Valige järgmised ulatused:
repo(Täielik kontroll privaatsete repositooriumide üle)read:org(Organisatsiooni ja meeskonna liikmelisuse lugemine, organisatsiooni projektide lugemine)gist(Gistide loomine)user:email(Kasutaja e-posti aadresside lugemine (ainult lugemisõigus))
e. Klõpsake "Generate token" ja kopeerige oma uus token
f. Seadistage see keskkonnamuutujana:
Windowsis:
set GITHUB_TOKEN=your-github-tokenmacOS/Linuxis:
export GITHUB_TOKEN=your-github-tokeng. Püsiva seadistuse jaoks lisage see oma keskkonnamuutujatesse süsteemi seadistuste kaudu
-
Lisage LangChain4j GitHubi sõltuvus oma projekti (juba kaasatud pom.xml-sse):
<dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-github</artifactId> <version>${langchain4j.version}</version> </dependency> -
Veenduge, et kalkulaatori server töötab aadressil
localhost:8080
LangChain4j kliendi käivitamine
See näide demonstreerib:
- Ühenduse loomist kalkulaatori MCP serveriga SSE transpordi kaudu
- LangChain4j kasutamist vestlusroboti loomiseks, mis kasutab kalkulaatori operatsioone
- Integreerimist GitHubi AI mudelitega (kasutades nüüd phi-4 mudelit)
Klient saadab järgmised näidispäringud, et demonstreerida funktsionaalsust:
- Kahe arvu summa arvutamine
- Arvu ruutjuure leidmine
- Abi teabe saamine kalkulaatori operatsioonide kohta
Käivitage näide ja kontrollige konsooli väljundit, et näha, kuidas AI mudel kasutab kalkulaatori tööriistu päringutele vastamiseks.
GitHubi mudeli konfiguratsioon
LangChain4j klient on konfigureeritud kasutama GitHubi phi-4 mudelit järgmiste seadistustega:
ChatLanguageModel model = GitHubChatModel.builder()
.apiKey(System.getenv("GITHUB_TOKEN"))
.timeout(Duration.ofSeconds(60))
.modelName("phi-4")
.logRequests(true)
.logResponses(true)
.build();
Teiste GitHubi mudelite kasutamiseks muutke lihtsalt modelName parameetrit mõnele teisele toetatud mudelile (nt "claude-3-haiku-20240307", "llama-3-70b-8192" jne).
Sõltuvused
Projekt nõuab järgmisi peamisi sõltuvusi:
<!-- For MCP Server -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-mcp-server-webflux</artifactId>
</dependency>
<!-- For LangChain4j integration -->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-mcp</artifactId>
<version>${langchain4j.version}</version>
</dependency>
<!-- For GitHub models support -->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-github</artifactId>
<version>${langchain4j.version}</version>
</dependency>
Projekti ehitamine
Ehitage projekt Maveniga:
./mvnw clean install -DskipTests
Serveri käivitamine
Java kasutamine
java -jar target/calculator-server-0.0.1-SNAPSHOT.jar
MCP Inspectori kasutamine
MCP Inspector on kasulik tööriist MCP teenustega suhtlemiseks. Selle kalkulaatori teenuse kasutamiseks:
-
Installige ja käivitage MCP Inspector uues terminaliaknas:
npx @modelcontextprotocol/inspector -
Avage veebiliides klõpsates rakenduse kuvatud URL-i (tavaliselt http://localhost:6274)
-
Konfigureerige ühendus:
- Määrake transporditüübiks "SSE"
- Määrake URL oma töötava serveri SSE lõpp-punktile:
http://localhost:8080/sse - Klõpsake "Connect"
-
Kasutage tööriistu:
- Klõpsake "List Tools", et näha saadaolevaid kalkulaatori operatsioone
- Valige tööriist ja klõpsake "Run Tool", et operatsiooni käivitada
Dockeri kasutamine
Projekt sisaldab Dockerfile'i konteineripõhiseks juurutamiseks:
-
Looge Dockeri pilt:
docker build -t calculator-mcp-service . -
Käivitage Dockeri konteiner:
docker run -p 8080:8080 calculator-mcp-service
See:
- Loob mitmeastmelise Dockeri pildi Maven 3.9.9 ja Eclipse Temurin 24 JDK-ga
- Loob optimeeritud konteineripildi
- Avab teenuse pordi 8080 kaudu
- Käivitab MCP kalkulaatori teenuse konteineri sees
Teenusele pääseb aadressil http://localhost:8080, kui konteiner töötab.
Tõrkeotsing
Tavalised probleemid GitHubi tokeniga
-
Tokeni õiguste probleemid: Kui saate 403 Forbidden vea, kontrollige, et teie tokenil oleks õiged õigused, nagu eeltingimustes kirjeldatud.
-
Tokeni puudumine: Kui saate "No API key found" vea, veenduge, et GITHUB_TOKEN keskkonnamuutuja oleks õigesti seadistatud.
-
Kvoodipiirangud: GitHubi API-l on kvoodipiirangud. Kui kohtate kvoodipiirangu viga (olekukood 429), oodake paar minutit enne uuesti proovimist.
-
Tokeni aegumine: GitHubi tokenid võivad aeguda. Kui saate autentimisvead mõne aja pärast, looge uus token ja värskendage oma keskkonnamuutujat.
Kui vajate täiendavat abi, vaadake LangChain4j dokumentatsiooni või GitHubi API dokumentatsiooni.
Lahtiütlus:
See dokument on tõlgitud AI tõlketeenuse Co-op Translator abil. Kuigi püüame tagada täpsust, palume arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algses keeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitame kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti tõlgenduste eest.
